summaryrefslogtreecommitdiff
path: root/voice_engine/voe_base_impl.h
AgeCommit message (Collapse)Author
2014-06-05Fix the chain that propagates the audio frame's rtp and ntp timestamp including:wu@webrtc.org
* In AudioCodingModuleImpl::PlayoutData10Ms, don't reset the timestamp got from GetAudio. * When there're more than one participant, set AudioFrame's RTP timestamp to 0. * Copy ntp_time_ms_ in AudioFrame::CopyFrom method. * In RemixAndResample, pass src frame's timestamp_ and ntp_time_ms_ to the dst frame. * Fix how |elapsed_time_ms| is computed in channel.cc by adding GetPlayoutFrequency. Tweaks on ntp_time_ms_: * Init ntp_time_ms_ to -1 in AudioFrame ctor. * When there're more than one participant, set AudioFrame's ntp_time_ms_ to an invalid value. I.e. we don't support ntp_time_ms_ in multiple participants case before the mixing is moved to chrome. Added elapsed_time_ms to AudioFrame and pass it to chrome, where we don't have the information about the rtp timestmp's sample rate, i.e. can't convert rtp timestamp to ms. BUG=3111 R=henrik.lundin@webrtc.org, turaj@webrtc.org, xians@webrtc.org TBR=andrew andrew to take another look on audio_conference_mixer_impl.cc Review URL: https://webrtc-codereview.appspot.com/14559004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-19Add interface to propagate audio capture timestamp to the renderer.wu@webrtc.org
BUG=3111 R=andrew@webrtc.org, turaj@webrtc.org, xians@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12239004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6189 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12Removes parts of the webrtc::VoEExternalMedia sub API as part of a clean-up ↵henrika@webrtc.org
operation where the goal is to remove unused APIs. BUG=3206 R=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/14419004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6102 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17Removes parts of the VoEBase sub API as part of a clean-up operation where ↵henrika@webrtc.org
the goal is to remove unused APIs. BUG=3206 R=henrik.lundin@webrtc.org, juberti@webrtc.org, niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12019005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5928 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14Added a new OnMoreData() interface which will not feed the playout data to APM.xians@webrtc.org
BUG=3147 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/11059005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5895 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18Move the volume quantization workaround from VoE to AGC.andrew@webrtc.org
Voice engine shouldn't really have to manage this. Instead, have AGC keep track of the last input volume, so that it can avoid getting stuck under coarsely quantized conditions. Add a test to verify the behavior. TESTED=unittests, and observed that AGC didn't get stuck on a MacBook where this problem can actually occur. R=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/8729004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5571 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-02Moved the new OnData interface to AudioTranport, and expose the ↵xians@webrtc.org
AudioTransport pointer via voe_base R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/7779004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5472 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-29Added new capture callback interface to pass the capture callback to a ↵xians@webrtc.org
specific voe channel from libjingle webrtcvoiceengine.cc. The callback has to go through VoEBaseImpl since VoEChannel is internal to voice engine. TEST=compile R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/7769005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5458 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13Inject config when creating channels to override the existing one.turaj@webrtc.org
BUG= R=xians@webrtc.org Review URL: https://webrtc-codereview.appspot.com/3239004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07Ref-counted rewrite of ChannelManager.pbos@webrtc.org
The complexity of the last ChannelManager and potentially usage of it as well caused race conditions and deadlocks in loopback voe_auto_test. This ref-counted solution takes no long-term locks, uses less locks overall and is significantly easier to understand. ScopedChannel has been split up into a ChannelOwner with a reference to a channel and an Iterator over ChannelManager. Previous code was really used for both things. ChannelOwner is used as a shared pointer to a channel object, while an Iterator should work as expected. BUG=2081 R=tommi@webrtc.org, xians@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1802004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4502 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31Merge r4394 from stable to trunk.xians@webrtc.org
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk. Fixed the AGC and interface problems on the new path. In order to make the AGC work properly, we need to cache the volume value passed by the callback, compare it with the value returned by shared->transmit_mixer()->CaptureLevel(). If they are the same, we need to return 0 to indicate no volume needs changing, otherwise return the new volume. By doing this, we avoid setting the volume all the same, which allows the users to change the volume manually. This patch also fixes some minor issues with the interfaces too: make the int channel[] const, and correct the order of the input params in channel::Demultiplex. R=tommi@webrtc.org BUG=[2134] TEST=compile && manual AGC test Review URL: https://webrtc-codereview.appspot.com/1921004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4450 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31Merge r4326 from stable to trunk.xians@webrtc.org
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk. Add new interface to support multiple sources in webrtc. CaptureData() will be called by chrome with a flag |need_audio_processing| to indicate if the data needs to be processed by APM or not. Different from the old interface that will send the data to all voe channels, the new interface will specify a list of voe channels that the data is demultiplexing to. R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1919004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4449 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03Proper spacing for end-of-namespace comments.pbos@webrtc.org
BUG= R=mflodman@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1760006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21Include files from webrtc/.. paths in voice_engine/pbos@webrtc.org
BUG=1662 R=henrikg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1434005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4079 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14Remove const for plain data types in voice_engine/pbos@webrtc.org
BUG=1644 R=henrikg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1463004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4018 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07Refactoring for typing detectionniklas.enbom@webrtc.org
R=henrika@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1370004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3976 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09WebRtc_Word32 -> int32_t in voice_engine/pbos@webrtc.org
BUG=314 Review URL: https://webrtc-codereview.appspot.com/1305004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3792 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-03Remove UDP transport API from VoEpwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1236004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3757 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13Revert r3667 and r3665pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1199004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3668 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13Removed the engine API:s related to transport such as SetSendDestination, ↵pwestin@webrtc.org
the functionality is now provided via the test frame work. Review URL: https://webrtc-codereview.appspot.com/1029004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3665 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05None of the clients of VoE use SetNetEQBGNMode(), furthermore, NetEq 4 does ↵turaj@webrtc.org
not provide an API to change the mode of the background noise. bug=issue1370 test=trybots Review URL: https://webrtc-codereview.appspot.com/1121007 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3607 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05Expose the capture-side AudioProcessing object and allow it to be injected.andrew@webrtc.org
* Clean up the configuration code, including removing most of the weird defines. * Add a unit test. Review URL: https://webrtc-codereview.appspot.com/1152005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3605 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22Move src/ -> webrtc/andrew@webrtc.org
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2963 4adac7df-926f-26a2-2b94-8c16560cd09d