94454b71ad
Fix the chain that propagates the audio frame's rtp and ntp timestamp including:
...
* 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@6346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 20:34:08 +00:00
1fddd6185d
Add a Reset() method to AudioFrame.
...
This method is introduced to try to avoid inconsistent resetting of
AudioFrame members to default/uninitialized values.
Use it at the call points of DownConvertToCodecFormat(). Results in the
following minor functional changes:
- speech_activity_ is set to its uninitialized value. AFAICT, this
member isn't used at all in the capture path.
- timestamp_ is switched from -1 to 0. This member doesn't appear to be
used either in the capture path, but left a TODO for wu to change the
default value to better represent the uninitialized state.
Bonus: Don't copy the frame on error in RemixAndResample(). An error
indicates a logical fault (as pointed out by the asserts) that we should
not attempt to recover from.
BUG=3111
R=turaj@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21519007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6289 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 17:28:50 +00:00
88fbb2d86b
Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
...
Same as https://webrtc-codereview.appspot.com/19519004 . The issue in
http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Linux ...
is solved by this change
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/libjingle/libjing ...
(tested locally).
BUG=3380
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17619005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6218 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 21:18:46 +00:00
2fa7f79094
Revert 6202 "Switch to using base/constructormagic.h and remove ..."
...
> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
>
> BUG=N/A
> R=andrew@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/19519004
TBR=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14579007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 11:07:29 +00:00
125ffd709d
Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
...
BUG=N/A
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19519004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:20:44 +00:00
cb711f77d2
Add interface to propagate audio capture timestamp to the renderer.
...
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@6189 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-19 17:39:11 +00:00
4d363ae305
The webrtc::AudioFrame struct contains a variable energy_. Since the energy isn't always calculated when the frame is created, this change makes the CalculateEnergy method in Audio Conference Mixer always calculate the energy.
...
This part of the the aftermath of issue 3255.
BUG=3255
R=andrew@webrtc.org , henrike@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16479004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6117 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 08:50:02 +00:00
6c75c98964
Propagate capture ntp timestamp from rtp to renderer.
...
Mostly the interface changes, the real implementation of ntp timestamp will come in a follow up cl.
TEST=new tests and try bots
BUG=3111
R=niklas.enbom@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11469004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5911 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 17:46:33 +00:00
b1f5010075
VoE changes to allow forwarding of packets from VoE to ViE BWE.
...
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10419004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5757 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:38:25 +00:00
ebdb0e3ad0
Help to land 7969005 on behalf of solenberg. The review and try is done in 7969005.
...
- Add ability to VoE to send Absolute Sender Time header extension.
- Refactor handling of RTP header extensions in VoE to work the same as in ViE.
- Add API to enable receiving Absolute Sender Time in VoE.
This is part of the work to include audio packets in bandwidth estimation, for
better accuracy in estimates.
BUG=
TBR=solenberg@webrtc.org ,henrikg@webrtc.org ,stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 23:49:08 +00:00
5ab756703e
Revert r5294 to re-roll r5293.
...
To fix races in test each stream now owns its own encoder/decoder.
R=mflodman@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/5919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
41e2615e02
Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
...
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
>
> BUG=
> R=mflodman@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/5409004
TBR=solenberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5889004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
341e91441a
Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
...
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +00:00
57eb858698
Remove ".." from include_dirs in build/common.
...
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2332004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
c94abd313e
Use clang-format -style=chromium to correct the format in webrtc/modules/interface/module_common_types.h
...
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2979004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5036 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-25 18:15:09 +00:00
0729460acb
Added a "interleaved_" flag to webrtc::AudioFrame.
...
And also did some format refactoring on the AudioFrame class, no change on the functionalities on those format refactoring code.
BUG=
TEST=compile
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5032 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-25 12:50:46 +00:00
7bb8f02274
Adds support for combining RTX and FEC/RED.
...
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.
Enables retransmissions over RTX by default in the loopback test.
BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2154004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
822fbd8b68
Update talk to 50918584.
...
Together with Stefan's http://review.webrtc.org/1960004/ .
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2048004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
12dc1a38ca
Switch C++-style C headers with their C equivalents.
...
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.
BUG=1833
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1917004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
aa4d96a134
Revert r4301
...
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 19:25:04 +00:00
66b2e5c05a
Breaking out receive-stats, rtp-payload-registry and rtp-receiver from the
...
rtp_rtcp implementation.
This refactoring significantly reduces the receive-side RTP parser and receiver
complexity, and makes it possible to implement RTX correctly by having two
instances of receive-statistics.
With this change the dead-or-alive and packet timeout APIs are removed.
TEST=trybots, vie_auto_test, voe_auto_test
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1745004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 14:30:48 +00:00
d900e8bea8
Proper spacing for end-of-namespace comments.
...
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@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
a5cb98cbbd
Breaking out RTP header parsing from the RTP module.
...
This is the first step in order to move bandwidth estimation closer to the network. The goal is to have RTP header parsing and bandwidth estimation before voice and video engine, and have a joint estimate for audio and video.
Moving bandwidth estimation before the RTP module is also required for RTX.
TEST=vie_auto_test, voe_auto_test, trybots.
BUG=1811
R=andresp@webrtc.org , henrika@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1545004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4129 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 12:12:51 +00:00
7ebbea14a9
Add handling of the absolute send time header extension to the rtp_rtcp module.
...
BUG=
R=asapersson@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1480004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4041 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 11:10:31 +00:00
7bc465bd21
Fix issues with incorrect wrap checks when having big buffers and high bitrate.
...
Introduces shared functions for timestamp and sequence number wrap checks.
BUG=1607
TESTS=trybots
Review URL: https://webrtc-codereview.appspot.com/1291005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3833 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-11 17:48:02 +00:00
ab9202b673
Removing remaining WebRtc_Word32 not in typedefs.h
...
BUG=
Review URL: https://webrtc-codereview.appspot.com/1306006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3813 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 17:59:17 +00:00
03e3117d87
Removed redundant VP8 width/height and made sure the generic width/height is set.
...
Review URL: https://webrtc-codereview.appspot.com/1158005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3656 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 09:59:27 +00:00
aea96d36e3
Rename webrtc::StatsObserver to webrtc::CallStatsObserver
...
to avoid ODR violations with peerconnectioninterface.h in libjingle.
Conflict introduced in
https://webrtc-codereview.appspot.com/1060005/diff/14010/webrtc/modules/interface/module_common_types.h#newcode326
TEST=none
BUG=none
Review URL: https://webrtc-codereview.appspot.com/1105011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3540 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-19 22:09:36 +00:00
b586507986
Break out RemoteBitrateEstimator from RtpRtcp module and make RemoteBitrateEstimator::Process trigger new REMB messages.
...
Also make sure RTT is computed independently of whether it's time to send RTCP messages or not.
BUG=1298
Review URL: https://webrtc-codereview.appspot.com/1060005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3455 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:33:42 +00:00
ae1a58bba4
Replace AudioFrame's operator= with CopyFrom().
...
Enforce DISALLOW_COPY_AND_ASSIGN to catch offenders.
Review URL: https://webrtc-codereview.appspot.com/1031007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3395 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 04:44:30 +00:00
418443c531
Remove operator overloading from RTPFragmentationHeader.
...
Instead supply a CopyFrom() method.
TEST=vie_auto_test
Review URL: https://webrtc-codereview.appspot.com/972004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3158 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-23 19:17:23 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00