~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to daemon/src/audio/codecs/ilbc.cpp

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (1.1.11)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: package-import@ubuntu.com-20140128182336-3xenud1kbnwmf3mz
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *  Copyright (C) 2012 Savoir-Faire Linux Inc.
 
2
 *  Copyright (C) 2012-2013 Savoir-Faire Linux Inc.
3
3
 *  Author:  Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
4
4
 *
5
5
 *  This program is free software; you can redistribute it and/or modify
29
29
 */
30
30
 
31
31
#include "audiocodec.h"
32
 
#include <tr1/array>
 
32
#include "sfl_types.h"
33
33
#include <algorithm>
34
34
 
35
35
extern "C" {
41
41
        Ilbc() :
42
42
            sfl::AudioCodec(ILBC_PAYLOAD, "iLBC", 8000, ILBC_FRAME_SIZE, 1),
43
43
            ilbc_dec_(),
44
 
            ilbc_enc_()
45
 
        {
 
44
            ilbc_enc_() {
46
45
            bitrate_ = 13.3;
47
46
 
48
47
            initDecode(&ilbc_dec_, 20, 1);
50
49
        }
51
50
 
52
51
    private:
 
52
        AudioCodec *
 
53
        clone()
 
54
        {
 
55
            return new Ilbc;
 
56
        }
 
57
 
53
58
        // iLBC expects floating point data, so we have to convert
54
 
        int decode(short *dst, unsigned char *src, size_t /*buf_size*/) {
 
59
        int decode(SFLAudioSample *dst, unsigned char *src, size_t /*buf_size*/) {
55
60
            const int NORMAL_MODE = 1;
56
61
            iLBC_decode(dst, reinterpret_cast<WebRtc_UWord16*>(src), &ilbc_dec_, NORMAL_MODE);
57
62
            return frameSize_;
58
63
        }
59
64
 
60
 
        int encode(unsigned char *dst, short* src, size_t /*buf_size*/) {
 
65
        int encode(unsigned char *dst, SFLAudioSample * src, size_t /*buf_size*/) {
61
66
            iLBC_encode(reinterpret_cast<WebRtc_UWord16*>(dst), src, &ilbc_enc_);
62
67
            return frameSize_;
63
68
        }