This fixes a two year old TODO of deleting dead code :)
In cases where the _id or id_ member variable is being used for tracing,
I changed the member to at least be const.
It doesn't look like id's are that useful anymore so maybe the next step is to get rid of them.
BUG=
R=henrika@webrtc.org, perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37849004
Cr-Commit-Position: refs/heads/master@{#8201}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8201 4adac7df-926f-26a2-2b94-8c16560cd09d
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.
This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".
BUG=chromium:81439
TEST=none
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
It was not clear how one could know if ACM is using DTX from WebRTC or codec internal DTX.
This CL makes better use of IsInternalDTXReplacedWithWebRtc() which was designed for G.729 to export such information.
Before
IsInternalDTXReplacedWithWebRtc() gives true only if codec == G729 and G729's internal DTX is replaced with WebRTC DTX.
Now
IsInternalDTXReplacedWithWebRtc() gives true also when codec does not have internal DTX, i.e., must use WebRTC DTX, which is much more logical.
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/35459004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7870 4adac7df-926f-26a2-2b94-8c16560cd09d
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.
Two small but not quite trivial cleanups are included because they
blocked the state_ removal:
- AudioDecoderG722Stereo now inherits directly from AudioDecoder
instead of being a subclass of AudioDecoderG722.
- AudioDecoder now has a CngDecoderInstance member function, which
is implemented only by AudioDecoderCng. This replaces the previous
practice of calling AudioDecoder::state() and casting the result
to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
plainly visible in the AudioDecoder class declaration.
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24169005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7644 4adac7df-926f-26a2-2b94-8c16560cd09d
Breaks Chrome compile:
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(169) : error C3867: 'webrtc::NetEqImpl::GetAudioInternal': function call missing argument list; use '&webrtc::NetEqImpl::GetAudioInternal' to create a pointer to member
...
> Remove the state_ member from AudioDecoder
>
> The subclasses that need a state pointer should declare them---with
> the right type, not void*, to get rid of all those casts.
>
> Two small but not quite trivial cleanups are included because they
> blocked the state_ removal:
>
> - AudioDecoderG722Stereo now inherits directly from AudioDecoder
> instead of being a subclass of AudioDecoderG722.
>
> - AudioDecoder now has a CngDecoderInstance member function, which
> is implemented only by AudioDecoderCng. This replaces the previous
> practice of calling AudioDecoder::state() and casting the result
> to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
> plainly visible in the AudioDecoder class declaration.
>
> R=henrik.lundin@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/24169005TBR=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/30879005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7629 4adac7df-926f-26a2-2b94-8c16560cd09d
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.
Two small but not quite trivial cleanups are included because they
blocked the state_ removal:
- AudioDecoderG722Stereo now inherits directly from AudioDecoder
instead of being a subclass of AudioDecoderG722.
- AudioDecoder now has a CngDecoderInstance member function, which
is implemented only by AudioDecoderCng. This replaces the previous
practice of calling AudioDecoder::state() and casting the result
to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
plainly visible in the AudioDecoder class declaration.
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24169005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7623 4adac7df-926f-26a2-2b94-8c16560cd09d
The problem was that if the output sample rate is changed such from one
where no resampling is needed to a rate that requires resampling, the
first output from the resampler will contain an onset period. The
solution provided in this CL is to keep a copy of the last output frame
in ACM, and if the resampler is engaged, it will be primed with this
old frame before resampling the current frame.
BUG=3919
R=bjornv@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27729004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7479 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL implements a new unit test. The test is designed to trigger
a problem in ACM where switching the desired output frequency creates
a short discontinuity in the output audio. The problem itself is not
solved in this CL, but the failing test is disabled for now.
BUG=3919
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23019004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7443 4adac7df-926f-26a2-2b94-8c16560cd09d
This time reverts the Cl that actually broke the tests. Got the wrong rev before. :/
BUG=3520
TESTED=Locally with CHECKOUT_SOURCE_ROOT=`pwd` build/android/test_runner.py gtest -s modules_unittests --gtest_filter=AcmReceiverBitExactness.8kHzOutput --verbose --isolate-file-path=webrtc/modules/modules_unittests.isolate
TBR=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26579004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7264 4adac7df-926f-26a2-2b94-8c16560cd09d
In order to maintain test coverage for the old API (AudioCodingModule)
during the transition period, the old test was copied to
AcmReceiverTestOldApi.
Modified and extended AudioCoding and the implementation to make the
test compile and run.
Created a converter method from new to old config struct
BUG=3520
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7259 4adac7df-926f-26a2-2b94-8c16560cd09d
The converted tests are:
AcmIsacMtTest
AcmReceiverBitExactness
AcmSenderBitExactness
AudioCodingModuleMtTest
AudioCodingModuleTest
In order to maintain test coverage for the old API (AudioCodingModule)
during the transition period, the old tests were copied and given the
suffix OldApi:
AcmIsacMtTestOldApi
AcmReceiverBitExactnessOldApi
AcmSenderBitExactnessOldApi
AudioCodingModuleMtTestOldApi
AudioCodingModuleTestOldApi
BUG=3520
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7258 4adac7df-926f-26a2-2b94-8c16560cd09d
RTPStream, and NetEq as such. Also mark all other virtual overrides in the same
files.
This will make further changes to these classes safer by ensuring that the
compile breaks if the base class changes and not all overrides are fixed.
This also deletes ACMTest.cc, which existed solely to define ~ACMTest(), which
was marked pure virtual in the header. (Pure virtual destructors still need a
definition.) Because there is another pure virtual method in this class, the
class is already abstract, so there's no benefit to making the desturctor pure.
Making it non-pure allows removing the separate source file.
BUG=none
TEST=none
R=henrik.lundin@webrtc.org, niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29389004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7144 4adac7df-926f-26a2-2b94-8c16560cd09d