99 Commits

Author SHA1 Message Date
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
wuchengli@chromium.org
0d94c2f81c Avoid acquiring VCM::_receiveCritSect during decode callback.
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.

BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
     Run libjingle_peerconnection_unittest.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4523 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:20:49 +00:00
wuchengli@chromium.org
f4081ab8d8 Revert "Avoid acquiring VCM::_receiveCritSect during decode callback."
This reverts commit aa3528a9cd65b176b9d6f9d58cecb1068891dca4.

BUG=http://crbug.com/170345
TEST=libjingle_peerconnection_unittest
TBR=stefan,wu

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4510 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 04:42:51 +00:00
wuchengli@chromium.org
a717ee9962 Avoid acquiring VCM::_receiveCritSect during decode callback.
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.

BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
R=stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4509 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 04:08:38 +00:00
mikhal@webrtc.org
64799da6c6 Allowing decoding with errors, when disabling nack.
BUG=1897
R=stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4508 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:45:33 +00:00
wu@webrtc.org
9dba525627 * Update libjingle to 50389769.
* Together with "Add texture support for i420 video frame." from
wuchengli@chromium.org.
https://webrtc-codereview.appspot.com/1413004

RISK=P1
TESTED=try bots
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4489 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 20:36:57 +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
mflodman@webrtc.org
1c986e7c89 Removed ViE file API.
R=asapersson@webrtc.org, niklas.enbom@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4267 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-26 09:12:49 +00:00
solenberg@webrtc.org
91811e2b04 Remove unused multi stream bandwidth estimator.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4264 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-25 20:36:14 +00:00
mflodman@webrtc.org
509754c4c9 Making no NACK mode work again in VideoEngine.
BUG=1910
TEST=ViE autotest loopback with no protection and some percent packet loss
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4203 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 15:50:12 +00:00
stefan@webrtc.org
c3cc375499 Add support for padding in pacer.
This improves pacer-based padding by making sure it limits padding according to:
- Never pad more than 800 kbps.
- Padding + media should not go above a given target bitrate.

Also adds appropriate unittests to make sure we reach the given targets.

BUG=1837
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:36:56 +00:00
stefan@webrtc.org
eea2622350 Correctly set SSRCs for extra send RTP modules.
Fixes a regression introduced in r4096.

BUG=1845
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4134 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 14:07:54 +00:00
stefan@webrtc.org
08994cc525 Fix a return value mismatch introduced in r4129.
TBR=mflodman@webrtc.org
TEST=vie_auto_test, trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4131 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 13:28:21 +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
solenberg@webrtc.org
a6db54d4c9 - Created RemoteBitrateEstimator wrapper for use internally in (ViE) ChannelGroup.
- Changed implementation of SetReceiveAbsoluteSendTimeStatus API so the RBE instance is changed when at least one channel in a group has the extension enabled.

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4113 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 16:02:56 +00:00
stefan@webrtc.org
c74c3c2447 Adds integration test for RTX and fixes bugs found.
BUG=1811
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4096 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:48:22 +00:00
solenberg@webrtc.org
cb9cff0c71 Add functions to ViE API to enable/disable the absolute send time header extension.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4065 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 12:00:23 +00:00
pbos@webrtc.org
f5d4cb1958 Include files from webrtc/.. paths in video_engine/
BUG=1662
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4056 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 13:44:48 +00:00
andresp@webrtc.org
7707d060bb Wiring down config from video engine until video coding and remote bitrate estimator modules instantiation.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4007 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-13 10:50:50 +00:00
stefan@webrtc.org
ef14488d03 Trigger a PLI if the duration of non-decodable frames exceeds a threshold.
BUG=1663
R=mikhal@webrtc.org, ronghuawu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3975 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 19:16:33 +00:00
mflodman@webrtc.org
9f5ebb5251 Adding a payload type for RTX.
BUG=736
TEST=Modified RTP unittests.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3843 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12 14:55:46 +00:00
pbos@webrtc.org
b238d1210b WebRtc_Word32 -> int32_t in video_engine/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3801 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 13:41:51 +00:00
pbos@webrtc.org
29758de9b6 Always set render delay in ViEChannel::RegisterExternalDecoder.
BUG=1523

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3790 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 00:34:42 +00:00
pwestin@webrtc.org
82dcc9ff11 Remove UDP transport API from ViE
Review URL: https://webrtc-codereview.appspot.com/1232004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3754 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-02 20:37:14 +00:00
mikhal@webrtc.org
bda7f305c5 Adding RTX on source
Review URL: https://webrtc-codereview.appspot.com/1190004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3674 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-15 23:21:52 +00:00
pwestin@webrtc.org
684f0577fb Revert r3667 and r3665
Review URL: https://webrtc-codereview.appspot.com/1199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3668 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 23:20:57 +00:00
mikhal@webrtc.org
15960c2b67 Increasing size of nack list in buffered mode.
Review URL: https://webrtc-codereview.appspot.com/1187007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3666 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 20:52:49 +00:00
pwestin@webrtc.org
361bac7a4f Removed the engine API:s related to transport such as SetSendDestination, 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@3665 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-13 17:52:42 +00:00
mikhal@webrtc.org
efe4edb6da Enabling bufffering mode with no sync module or VoE
BUG= 1454

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3625 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-06 23:29:33 +00:00
mflodman@webrtc.org
59b2d5fbce Stop and restart fix.
BUG=1398
TEST=Local stop and start test.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3545 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 16:00:27 +00:00
fischman@webrtc.org
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
mikhal@webrtc.org
77fced32e2 fixing nack list size calculation
Review URL: https://webrtc-codereview.appspot.com/1093012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3535 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-19 19:42:35 +00:00
mikhal@webrtc.org
ef9f76a59d Adding a receive side API for buffering mode.
At the same time, renaming the send side API.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3525 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-15 23:22:18 +00:00
mikhal@webrtc.org
3d305c64b4 Updates to send side streaming mode:
1. Disabling frame-droppers from the vie encoder and not the channel.
2. Accounting for qpMax in the VP8 wrapper.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-10 18:42:55 +00:00
mflodman@webrtc.org
4fd5527ab1 Don't report an error for GetEstimatedReceiveBandwidth if there is no valid
estimate.

BUG=1377

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3479 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-06 17:46:39 +00:00
mikhal@webrtc.org
dbe97d2550 Adding a send side API for streaming
Review URL: https://webrtc-codereview.appspot.com/1070009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3457 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 19:33:21 +00:00
stefan@webrtc.org
becf9c897c Fix mismatch between different NACK list lengths and packet buffers.
This is a second version of http://review.webrtc.org/1065006/ which passes the parameters via methods instead of via constructors.

BUG=1289

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3456 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 15:09:57 +00:00
stefan@webrtc.org
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
mflodman@webrtc.org
4aee6b637d Added API to get receive side video delay.
BUG=1222

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3294 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-14 14:02:10 +00:00
mflodman@webrtc.org
7c894b7cc7 Wire up CallStats to provide modules with correct RTT.
BUG=769
TEST=Manual test since there is no ViE APi to get RTT for receive channels.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3163 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 12:40:15 +00:00
pwestin@webrtc.org
571a1c035b Enable paced sender.
Review URL: https://webrtc-codereview.appspot.com/965016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3089 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-13 21:12:39 +00:00
andrew@webrtc.org
9841d92b8d Reorganize modules/video_render.
The usual elimination of main/source etc.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3027 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-31 05:22:11 +00:00
mflodman@webrtc.org
d6ec386ff5 Revert the revert in r2988 since that wasn't the issue.
Review URL: https://webrtc-codereview.appspot.com/931005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2992 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 11:30:29 +00:00
vikasmarwaha@webrtc.org
8239ca5096 Reverse Merged r2884 & r2888 from trunk.
Review URL: https://webrtc-codereview.appspot.com/929005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2988 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-24 22:35:52 +00:00
mikhal@webrtc.org
9fedff7c17 Switching to I420VideoFrame
Review URL: https://webrtc-codereview.appspot.com/922004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2983 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-24 18:33:04 +00:00
andrew@webrtc.org
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