This CL is one step in a larger change of the DelayEstimator where we will open up for multiple near-end signals.
This particular CL separates the low level far-end parts without affecting the usage externally. This is a first step towards separating the far-end and near-end parts giving the user the control.
BUG=None
TEST=audioproc_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1068005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3415 4adac7df-926f-26a2-2b94-8c16560cd09d
The function WebRtcOpus_DurationEst returned the number of samples
per packet in the native 48 kHz sample rate, while the decoder
function returns data in 32 kHz sample rate. This creates a discrepancy
that makes NetEQ's lip-sync functionality add too little delay.
BUG=1334
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1069006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3403 4adac7df-926f-26a2-2b94-8c16560cd09d
Eliminated need for video receiver to talk to its parent. Also we will now determine if the packet is the first one already in the rtp general receiver. The possible downside would be that recovered video packets no longer can be flagged as the first packet, but I don't think that can happen. Even if it can happen, maybe the bit was set anyway at an earlier stage. The tests run fine.
BUG=
TEST=rtp_rtcp_unittests, vie_auto_test, voe_auto_test
Review URL: https://webrtc-codereview.appspot.com/1022011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3382 4adac7df-926f-26a2-2b94-8c16560cd09d
The goal with this new clock interface is to have something which is used all
over WebRTC to make it easier to switch clock implementation depending on where
the components are used. This is a first step in that direction.
Next steps will be to, step by step, move all modules, video engine and voice
engine over to the new interface, effectively deprecating the old clock
interfaces. Long-term my vision is that we should be able to deprecate the clock
of WebRTC and rely on the user providing the implementation.
TEST=vie_auto_test, rtp_rtcp_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1041004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3381 4adac7df-926f-26a2-2b94-8c16560cd09d
This is a pure reformat patch, with the exception that I also fixed all comments and moved a constant. I did not change the types in this patch since I
though that is more risky, so I'll do that in a separate patch later (perhaps
we could purge the types from the whole module in one go?)
BUG=
TEST=Trybots, vie_ & voe_auto_test --automated
Review URL: https://webrtc-codereview.appspot.com/998007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3338 4adac7df-926f-26a2-2b94-8c16560cd09d
The Opus audio codec targets applications for pure conversations as well as other types of audio (e.g. music), and there are two different settings to use for this (VoIP and AUDIO). In the current implementation of Opus in WebRTC we use VoIP only.
I this CL I have changed default setting to AUDIO in the case of stereo, and kept VoIP as default in case of mono.
Next step is to add an API to choose application mode.
BUG=issue1239
Review URL: https://webrtc-codereview.appspot.com/1007006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3319 4adac7df-926f-26a2-2b94-8c16560cd09d
The purpose is to make _rtpReceiver mostly agnostic to if it processes audio or video, and make its delegates responsible for that. This patch makes the actual interfaces and interactions between the classes a lot clearer which will probably help straighten out the rather convoluted business logic in here. There are a number of rough edges I hope to address in coming patches.
In particular, I think there are a lot of audio-specific hacks, especially when it comes to telephone event handling. I think we will see a lot of benefit once that stuff moves out of rtp_receiver altogether. The new strategy I introduced doesn't quite pull its own weight yet, but I think I will be able to remove a lot of that interface later once the responsibilities of the classes becomes move cohesive (e.g. that audio specific stuff actually lives in the audio class, and so on). Also I think it should be possible to extract payload type management to a helper class later on.
BUG=
TEST=vie/voe_auto_test, trybots
Review URL: https://webrtc-codereview.appspot.com/1001006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3306 4adac7df-926f-26a2-2b94-8c16560cd09d
This makes the following files be written into the output dir instead of
the current working dir:
* out.pcm
* vad_out.dat
* ns_prob.dat
TEST=out/Debug/audioproc -aecm -ns -agc --fixed_digital --perf -pb
resources/audioproc.aecdump
All trybots passing.
BUG=none
Review URL: https://webrtc-codereview.appspot.com/1003005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3302 4adac7df-926f-26a2-2b94-8c16560cd09d