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
First patch set is the same as patch set 3 of http://review.webrtc.org/2237004/
-Make ACM1 to depend on ACM2.
-Remove APIs to set and get background noise mode. There is no VoE call to these
APIs.
-Remove APIs to set and get receive side VAD mode. There is no VoE call to these
APIs, and NetEq 4, doesn't support them.
-Remove callback for in-band DTMF detection. ACM doesn't support in-band DTMF
detection.
-Use acm_common_defs.h everywhere required.
-Complete ACM factory method.
-Update ACMCodecDatabase of ACM2. CNG full-band need to be define-guarded.
Remove dynamic payload-type assignment.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4785 4adac7df-926f-26a2-2b94-8c16560cd09d
-Make ACM1 to depend on ACM2.
-Remove APIs to set and get background noise mode. There is no VoE call to these APIs.
-Remove APIs to set and get receive side VAD mode. There is no VoE call to these APIs, and NetEq 4, doesn't support them.
-Remove callback for in-band DTMF detection. ACM doesn't support in-band DTMF detection.
-Use acm_common_defs.h everywhere required.
-Complete ACM factory method.
-Update ACMCodecDatabase of ACM2. CNG full-band need to be define-guarded. Remove dynamic payload-type assignment.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2237004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4772 4adac7df-926f-26a2-2b94-8c16560cd09d