61 Commits

Author SHA1 Message Date
wu@webrtc.org
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
minyue@webrtc.org
c1a40a7b68 This CL is to adding feedback of packet loss rate to encoder in voice engine. A direct reason for doing it is to make use of Opus FEC, which can adapt itself to changes in the packet loss rate.
This CL is going to be combined with another CL in ACM, which is to be landed.

TEST=passed_try_bots
BUG=
R=stefan@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13449004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6262 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 09:52:06 +00:00
wu@webrtc.org
82c4b8531c Calculate capture ntp timestamp in local timebase for decoded audio frame.
BUG=3111
R=stefan@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19449005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6205 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 22:55:01 +00:00
wu@webrtc.org
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
henrika@webrtc.org
6b02eea6ac Removes parts of the webrtc::VoEFile sub API as part of a clean-up operation where the goal is to remove unused APIs.
BUG=3206
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6103 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 12:24:10 +00:00
henrika@webrtc.org
66021e0fa2 Removes parts of the webrtc::VoERTP_RTCP sub API as part of a clean-up operation where the goal is to remove unused APIs.
BUG=3206
R=niklas.enbom@webrtc.org, solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13489005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6100 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 08:53:27 +00:00
andrew@webrtc.org
382c0c209d Allow the RTP level indicator computation to work at any sample rate.
Break out the computation to a separate class, and call directly into
this from channel.cc rather than going through AudioProcessing. This
circumvents AudioProcessing's sample rate limitations.

We now compute the RMS over all samples rather than downmixing to a
single channel. This makes the call point in channel.cc easier, is
more "correct" and should have similar (negligible) complexity.

This caused slight changes in the RMS output, so the ApmTest.Process
reference has been updated. Snippet of the failing output:

[ RUN      ] ApmTest.Process
Running test 4 of 12...
Value of: rms_level
  Actual: 27
Expected: test->rms_level()
Which is: 28
Running test 5 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 6 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 10 of 12...
Value of: rms_level
  Actual: 27
Expected: test->rms_level()
Which is: 28
Running test 11 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 12 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27

BUG=3290
TESTED=Chrome assert is avoided and both voe_cmd_test and apprtc
produce reasonable printed out results from RMS().

R=bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6056 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 18:22:21 +00:00
wu@webrtc.org
93fd25c20c * Add webrtc::VoERTP_RTCP::SetReceiveAudioLevelIndicationStatus.
* Cast rtp header extension to int in log in rtp_utility.cc.

BUG=3237
TEST=try bots
R=stefan@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12129004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5975 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 20:33:08 +00:00
andrew@webrtc.org
f5a33f145b Resampler modifications in preparation for arbitrary audioproc rates.
- Templatize PushResampler to support int16 and float.
- Add a helper method to PushSincResampler to compute the algorithmic
delay.

This is a prerequisite of:
http://review.webrtc.org/9919004/

BUG=2894
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5943 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-19 00:32:07 +00:00
henrika@webrtc.org
66803489f9 Removes parts of the VoEBase sub API as part of a clean-up operation where 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@5928 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 10:45:01 +00:00
henrika@webrtc.org
0f7375504a Removes VoECodec sub API as part of a clean-up operation where the goal is to remove unused APIs.
BUG=3206
R=juberti@webrtc.org, niklas.enbom@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11789004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5927 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 10:38:08 +00:00
henrika@webrtc.org
b9309beea4 Removes VoECallReport sub API as part of a clean-up operation where the goal is to remove unused APIs.
BUG=3206
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5896 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 14:12:50 +00:00
andrew@webrtc.org
40ee3d07ed Consolidate audio conversion from Channel and TransmitMixer.
Replace the two versions with a single DownConvertToCodecFormat. As
mentioned in comments, this could be further consolidated with
RemixAndResample but we should write a full audio converter class in
that case.

Along the way:
- Fix the bug present in Channel::Demultiplex with mono input and a
stereo codec.
- Remove the 32 kHz max from the OnDataAvailable path. This avoids a
48 -> 32 -> 48 conversion when VoE is passed 48 kHz audio; instead we
get a straight pass-through to ACM. The 32 kHz conversion is still
needed in the RecordedDataIsAvailable path until APM natively supports
48 kHz.
- Merge resampler improvements from ACM1 to ACM2. This allows ACM to
handle 44.1 kHz audio passed to VoE and was originally done here:
https://webrtc-codereview.appspot.com/1590004
- Reuse the RemixAndResample unit tests for DownConvertToCodecFormat.
- Remove unused functions from utility.cc.

BUG=3155,3000,b/12867572
TESTED=voe_cmd_test using both the OnDataAvailable and
RecordedDataIsAvailable paths, with a captured audio format of all
combinations of {44.1,48} kHz and {1,2} channels, running through all
codecs, and finally using both ACM1 and ACM2.

R=henrika@webrtc.org, turaj@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11019005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5843 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-03 21:56:01 +00:00
solenberg@webrtc.org
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
henrika@webrtc.org
944cbeb292 Resolves TSan v2 warnings in voe_auto_test.
See bug report for details.

BUG=1590
R=tommi@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5714 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 10:32:33 +00:00
wu@webrtc.org
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
henrika@webrtc.org
b7a91fa95a Removes VoERTP_RTCP::InsertExtraRTPPacket.
Reasons for removing:

- Feels like a complete hack IMHO.
- Not used by any client.
- Unclear functionality regarding time stamp, marker bit etc.
- Causes several issues in tests due to a bad design which mainly depends on the fact that this API "breaks" an ongoing data/packet flow and it complicates the threading model and creates risks for deadlock and memory corruption. Not worth trying to fix given the very unclear benefit of maintaining the API. Better to remove the API instead.
- We also see lots of TSan races and memcheck errors related to this API.

BUG=2296,2240
R=mflodman@webrtc.org, niklas.enbom@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/8819004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5574 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 08:58:08 +00:00
solenberg@webrtc.org
a07923339b Remove external encryption API for VoE.
BUG=
R=henrika@webrtc.org, henrikg@webrtc.org, phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/8459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5564 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 11:27:22 +00:00
andrew@webrtc.org
60730cfe3c Remove the requirement to call set_sample_rate_hz and friends.
Instead have ProcessStream transparently handle changes to the stream
audio parameters (sample rate and channels). This removes two locks
per 10 ms ProcessStream call taken by VoiceEngine (four total with the
audio level indicator.)

Also, prepare future improvements by having the splitting filter take
a length parameter. This will allow it to work at different sample
rates. Remove the useless splitting_filter wrapper.

TESTED=voe_cmd_test with audio processing enabled and switching between
codecs; unit tests.

R=aluebs@webrtc.org, bjornv@webrtc.org, turaj@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:45:09 +00:00
sprang@webrtc.org
54ae4ffb9e Add callbacks for receive channel RTCP statistics.
This allows a listener to receive new statistics as it is generated - avoiding the need to poll. This also makes handling stats from multiple RTP streams more tractable.
The change is primarily targeted at the new video engine API.

TEST=Unit test in ReceiveStatisticsTest. Integration tests to follow as call tests when fully wired up.

BUG=2235
R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5089004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5323 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-19 13:26:02 +00:00
turaj@webrtc.org
167b6dfc73 Fix jitter buffer delay estimate.
BUG=b/12099925
R=niklas.enbom@webrtc.org, niklase@google.com, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5739004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5289 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 21:05:07 +00:00
wu@webrtc.org
24301a67c6 Update talk to 58174641 together with http://review.webrtc.org/4319005/.
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/5809004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5287 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 19:17:43 +00:00
stefan@webrtc.org
48df38114d Fix for making sure that the packet in order checks are done prior to updating the last received packet state.
Without this fix all packets are considered out-of-order by the rtp receiver, causing the last received state
in the rtp receiver to never get valid.

Also makes sure that only valid timestamps and receive times are used for audio/video sync.

BUG=2608
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 15:18:52 +00:00
wu@webrtc.org
6342066974 Fix tsan failures in channel.cc regarding to the volume settings.
BUG=2461
TEST=try bots
R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2377004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4992 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-17 18:28:55 +00:00
andrew@webrtc.org
eb524d997b Remove deprecated AudioCodingModule::Destroy.
Have Channel hold a pointer rather than reference, and shorten the name.

TESTED=trybots
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2256004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4820 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-23 23:02:24 +00:00
andrew@webrtc.org
f3930e941c Small refactoring of AudioProcessing use in channel.cc.
- Apply consistent naming.
- Use a scoped_ptr for rx_audioproc_.
- Remove now unnecessary AudioProcessing::Destroy().

R=bjornv@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2184007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4784 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 22:37:32 +00:00
minyue@webrtc.org
e509f943ed This issue is related to
https://chromereviews.googleplex.com/9908014/

I was thinking about shipping ACM2 from the signal repository. There seems to be too many changes in one CL.

BUG=
R=andrew@webrtc.org, turaj@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2171004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4733 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-12 17:03:00 +00:00
stefan@webrtc.org
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
stefan@webrtc.org
286fe0b04d Revert 4585 "Revert "Revert 4582 "Reverts a second set of reverts caused by a bug in ..."""
...and fixes the RTCP bug.

BUG=2277
TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2089004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4588 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:58:21 +00:00
henrike@webrtc.org
a0218a84d1 Revert 4582 "Reverts a second set of reverts caused by a bug in ..."
> Reverts a second set of reverts caused by a bug in a dependency.
> 
> Revert "Revert r4328"
> 
> Revert "Revert r4322 "Support sending multiple report blocks and keeping track
> of statistics on"
> 
> BUG=1811
> R=henrika@webrtc.org, pbos@webrtc.org, tina.legrand@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/2072004

TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2087004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4585 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 19:44:13 +00:00
stefan@webrtc.org
1a65d6c36b Reverts a second set of reverts caused by a bug in a dependency.
Revert "Revert r4328"

Revert "Revert r4322 "Support sending multiple report blocks and keeping track
of statistics on"

BUG=1811
R=henrika@webrtc.org, pbos@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2072004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4582 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 16:22:21 +00:00
wu@webrtc.org
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
xians@webrtc.org
09e8c47ee5 Merge r4374 from stable to trunk.
r4374 was mistakenly committed to stable, so this is to re-merge back to trunk.

Store the sequence number in StopSend() and resume it in StartSend().

When restarting the microphone device, we call StopSend() first, then
StartSend() later. Since we reset sequence number in StopSend(), it sometimes
causes libSRTP to complain about packets being replayed. Libjingle work around
it by caching the sequence number in WebRtcVoiceEngine.cc, and call
SetInitSequenceNumber() to resume the sequence number before StartSend().Store the sequence number in StopSend() and resume it in StartSend().

When restarting the microphone device, we call StopSend() first, then
StartSend() later. Since we reset sequence number in StopSend(), it sometimes
causes libSRTP to complain about packets being replayed. Libjingle work around
it by caching the sequence number in WebRtcVoiceEngine.cc, and call
SetInitSequenceNumber() to resume the sequence number before StartSend().

This patch fixes this problem by storing the sequence number in StopSend(), and
resume it in StartSend(). So that we can remove the workaround in libjingle.

BUG=2102
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1922004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4451 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:30:19 +00:00
xians@webrtc.org
8fff1f065e Merge r4394 from stable to trunk.
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@4450 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:27:42 +00:00
xians@webrtc.org
2f84afad30 Merge r4326 from stable to trunk.
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@4449 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:23:37 +00:00
tnakamura@webrtc.org
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
elham@webrtc.org
b7eda43810 Revert r4322 "Support sending multiple report blocks and keeping track of statistics on
several SSRCs"

R=pwestin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1774006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4344 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-15 21:08:27 +00:00
stefan@webrtc.org
717d147ebb Support sending multiple report blocks and keeping track of statistics on several SSRCs.
BUG=1811
TEST=vie_auto_test --automated, voe_auto_test --automated, trybots
R=andresp@webrtc.org, tommi@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1768004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4322 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-10 13:39:27 +00:00
stefan@webrtc.org
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
pbos@webrtc.org
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
andrew@webrtc.org
da710448b2 Fix size_t to int conversion error on Win64.
TBR=pwestin

Review URL: https://webrtc-codereview.appspot.com/1626005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4192 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-07 01:43:12 +00:00
pwestin@webrtc.org
db24995680 Wire up Nack for Voe
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1614004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4184 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-05 15:33:20 +00:00
stefan@webrtc.org
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
turaj@webrtc.org
e46c8d3875 API to control target delay in NetEq jitter buffer. NetEq maintains the given delay unless channel conditions require a higher delay.
TEST=unit-test, manual, trybots.
R=henrik.lundin@webrtc.org, henrika@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1384005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4087 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:39:43 +00:00
pbos@webrtc.org
956aa7e087 Include files from webrtc/.. paths in voice_engine/
BUG=1662
R=henrikg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1434005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4079 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 13:52:32 +00:00
pbos@webrtc.org
9213521ea9 Remove const for plain data types in voice_engine/
BUG=1644
R=henrikg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1463004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4018 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 08:31:39 +00:00
pwestin@webrtc.org
1de01354e6 Adding playout buffer status to the voe video sync
Review URL: https://webrtc-codereview.appspot.com/1311004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3835 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-11 20:23:35 +00:00
pbos@webrtc.org
6141e13873 WebRtc_Word32 -> int32_t in voice_engine/
BUG=314

Review URL: https://webrtc-codereview.appspot.com/1305004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3792 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 10:09:10 +00:00
pwestin@webrtc.org
0c45957e3a Remove UDP transport API from VoE
Review URL: https://webrtc-codereview.appspot.com/1236004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3757 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-03 15:43:57 +00:00
solenberg@webrtc.org
a442d4d983 Removed all code enclosed in WEBRTC_SRTP #ifdefs, and the unsupported VoE SRTP APIs. Test stubs are left in place as we still have the (De)RegisterExternalEncryption() APIs, although they are currently untested.
Today I had to figure out this code was legacy. Now next person doesn't have to.

BUG=

Review URL: https://webrtc-codereview.appspot.com/1247004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3738 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-28 09:14:36 +00:00