Commit Graph

410 Commits

Author SHA1 Message Date
magjed@webrtc.org
a73d746562 Revert 7702 "cricket::VideoAdapter: Drop frames before spending ..."
Rease for revert: failed internal test cases

> cricket::VideoAdapter: Drop frames before spending time converting/scaling, not after.
> 
> In VideoCapturer::OnFrameCaptured, we currently convert cricket::CapturedFrame to cricket::VideoFrame and then send that to VideoAdapter::AdaptFrame. AdaptFrame may then decide to drop the frame. It would be faster to drop the frame before converting to cricket::VideoFrame.
> 
> This CL refactors VideoAdapter with a new function AdaptFrameResolution that takes captured resolution as input and output adapted resolution, or 0x0 if the frame should be dropped. Using that function, frames can be dropped before any conversion takes place.
> 
> R=fbarchard@google.com, perkj@webrtc.org, tommi@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/29949004

TBR=magjed@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7703 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 13:25:25 +00:00
magjed@webrtc.org
bbd8cad21f cricket::VideoAdapter: Drop frames before spending time converting/scaling, not after.
In VideoCapturer::OnFrameCaptured, we currently convert cricket::CapturedFrame to cricket::VideoFrame and then send that to VideoAdapter::AdaptFrame. AdaptFrame may then decide to drop the frame. It would be faster to drop the frame before converting to cricket::VideoFrame.

This CL refactors VideoAdapter with a new function AdaptFrameResolution that takes captured resolution as input and output adapted resolution, or 0x0 if the frame should be dropped. Using that function, frames can be dropped before any conversion takes place.

R=fbarchard@google.com, perkj@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7702 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 12:10:46 +00:00
pbos@webrtc.org
ece3890d3a Report total bitrate for all streams in GetStats.
This regression wasn't caught because I accidentally disabled multiple
streams for EndToEndTest.GetStats in a refactoring.

R=stefan@webrtc.org, xians@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7701 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 11:52:04 +00:00
magjed@webrtc.org
35c1ace185 Revert 7698 "WebRtcVideoMediaChannel::SetSendParams: Don't cap r..."
Reason for revert is failed testcases:
WebRtcVideoEngineExtendedTestFake.ResetSimulcastSendCodecOnNewFrameSize
WebRtcVideoEngineExtendedTestFake.MultipleSendStreamsDifferentFormats

> WebRtcVideoMediaChannel::SetSendParams: Don't cap resolution
> 
> BUG=3936
> R=pthatcher@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/30039004

TBR=magjed@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7700 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 16:21:49 +00:00
magjed@webrtc.org
52da44b7e6 WebRtcVideoMediaChannel::SetSendParams: Don't cap resolution
BUG=3936
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7698 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 15:43:11 +00:00
henrik.lundin@webrtc.org
8038d42749 Follow-up fixes for G722
This CL addresses post-commit comments on r7662. See
https://webrtc-codereview.appspot.com/27089004/#ps40001.

BUG=3951
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7677 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-11 08:38:24 +00:00
pbos@webrtc.org
d819803d45 Wire up DSCP support in WebRtcVideoEngine2.
R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7669 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 14:41:43 +00:00
pbos@webrtc.org
957e802fe0 Refactor SetDefaultEncoderConfig to work on existing codecs.
Addresses issue where SetDefaultEncoderConfig modifies the codec list
rather than just the targeted codec. This was previously done just to
pass more unit tests rather than be done properly. This incidentally
addresses a TODO causing this to work with external codecs as well.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7667 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-10 12:36:11 +00:00
andresp@webrtc.org
188d3b2245 Enable VP9 video codec support on webrtcvideoengine behind a field trial.
BUG=chromium:431285
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7663 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-07 13:21:04 +00:00
henrik.lundin@webrtc.org
f85dbce041 Reapply "Advertise G722 as 8 kHz rather than 16 kHz""
This reverts r7653 and relands r7645. The reason for the original revert was that G722 disappeared from the SDP offer. This is now fixed. Also, a unit test was updated compared with the original change.

BUG=3951
TBR=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7662 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-07 12:25:00 +00:00
pbos@webrtc.org
a2ef4fe9c3 Prevent a lot of VideoSendStream reconfigures.
Checking whether we're setting the same configuration or not.
Experimentally this brings down underlying reconfigures from ~20 to
about 4-5.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-07 10:54:43 +00:00
andresp@webrtc.org
82775b1396 Refactor webrtcvideoengines to have the default list of supported codecs being generated in runtime.
This will allow to plugin VP9 based on a field trial.

R=pbos@webrtc.org, pbos, pthatcher

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7658 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-07 09:37:54 +00:00
henrik.lundin@webrtc.org
dced5d7835 Revert "Advertise G722 as 8 kHz rather than 16 kHz"
This reverts r7645.

TBR=pthatcher@webrtc.org
BUG=3951

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7653 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 15:27:43 +00:00
andresp@webrtc.org
19b4741004 Removing unused method GetDefaultVideoEncoderConfig.
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 11:16:32 +00:00
henrik.lundin@webrtc.org
1dcca4028f Advertise G722 as 8 kHz rather than 16 kHz
G722 is a 16 kHz (wideband) speech codec, but a "bug" in the RFC
has it listed as 8 kHz. This means that the codec should be
advertised as 8 kHz in SDP messages. This change fixes that.

R=juberti@google.com
TBR=pthatcher@webrtc.org
BUG=3951
TEST=Verify that the G722 is advertised as a=rtpmap:9 G722/8000, not /16000.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7645 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 08:55:01 +00:00
stefan@webrtc.org
0bae1fab4a Wire up bandwidth stats to the new API and webrtcvideoengine2.
Adds stats to verify bandwidth and pacer stats.

BUG=1788
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 14:05:29 +00:00
buildbot@webrtc.org
a22a628356 (Auto)update libjingle 79205306-> 79244016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7633 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 13:25:48 +00:00
buildbot@webrtc.org
795d003770 (Auto)update libjingle 79200114-> 79205306
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7627 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 00:14:02 +00:00
buildbot@webrtc.org
45ecf4c092 (Auto)update libjingle 79169148-> 79192489
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7624 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 21:48:54 +00:00
pbos@webrtc.org
88ef632286 Falling back on single-stream on multiple SSRC.
Instead of failing, use one stream. Also clamp video min bitrate.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7615 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 15:29:29 +00:00
buildbot@webrtc.org
a663d90ae3 (Auto)update libjingle 79104430-> 79104922
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7602 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 22:29:18 +00:00
pbos@webrtc.org
96a93259b3 Implement external decoder support in WebRtcVideoEngine2.
R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7594 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 14:46:44 +00:00
pbos@webrtc.org
b7ed7799e7 Implement conference-mode temporal-layer screencast.
Renames VideoStream::temporal_layers to temporal_layer_thresholds_bps to
convey that it contains thresholds needed to ramp up between them (1
threshold -> 2 temporal layers, etc.).

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7578 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 13:08:10 +00:00
pbos@webrtc.org
3bf3d238c8 Configure A/V sync in WebRtcVideoEngine2.
Sets up A/V sync for the first video receive channel with the default
voice channel. This is only done when conference mode is disabled to
preserve existing behavior. Ideally we'd know which voice channel to
sync with here.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 12:59:34 +00:00
minyue@webrtc.org
2dc6f3154d Adapting bitrate according to maxplaybackrate for Opus.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7575 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 05:33:10 +00:00
tkchin@webrtc.org
14146e40aa arm64 iOS build.
Allows successful build of arm64 libraries using
GYP_DEFINES="OS=ios target_arch=arm64 target_subarch=arm64".
Note that not all libraries will be NEON optimized (eg common_audio),
however most importantly libvpx will be. WEBRTC_ARCH_ARM needs to be
defined so that libvpx doesn't post-process, which is significantly
detrimental to performance.

BUG=3898
R=kjellander@webrtc.org, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7573 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 00:14:39 +00:00
minyue@webrtc.org
8219529b98 Cleaning up r7562-7567.
Wrongly used git svn dcommit for committing a CL.

Then two reverts were applied.

Still something needs to be cleaned.

BUG=

TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7568 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 08:23:54 +00:00
buildbot@webrtc.org
879fac81d1 (Auto)update libjingle 78822708-> 78823675
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:50:13 +00:00
minyue@webrtc.org
5f73a37597 Revert 7563 "before rebase" due to wrong submission
> before rebase

TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7566 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:49:58 +00:00
minyue@webrtc.org
c11cc8d947 Revert 7564 "to submit" due to wrong submission
> to submit

TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7565 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:46:47 +00:00
minyue@webrtc.org
de386bf67b to submit
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7564 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:20:09 +00:00
minyue@webrtc.org
c673bb9f29 before rebase
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7563 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:19:57 +00:00
minyue@webrtc.org
0b62672576 adding default rates
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 07:19:49 +00:00
pbos@webrtc.org
776e6f289c Use external VideoDecoders in VideoReceiveStream.
Removes direct VideoCodec use from the new API, exposes VideoDecoders
through webrtc/video_decoder.h similar to VideoEncoders.

Also includes some preparation for wiring up external decoders in
WebRtcVideoEngine2 by adding AllocatedDecoders that specify whether they
were allocated internally or externally.

Additionally addresses a data race in VideoReceiver that was exposed with this change.

R=mflodman@webrtc.org, stefan@webrtc.org
TBR=pthatcher@webrtc.org
BUG=2854,1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7560 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 15:28:39 +00:00
buildbot@webrtc.org
1abc146aa5 (Auto)update libjingle 78738075-> 78738103
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7554 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 08:14:14 +00:00
minyue@webrtc.org
2623695dfb Renaming bandwidth to bitrate in webrtcvoiceengine.
"bandwidth" is usually a misleading mentioning. It can mean network throughput, audio frequency contents, etc.

This is to remove the confusion inside webrtcvoiceengine

BUG=
R=juberti@webrtc.org, pbos@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7551 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 02:27:08 +00:00
henrike@webrtc.org
269fb4bc90 move xmpp and p2p to webrtc
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and
webrtc/p2p. Also makes libjingle use those version instead of the one in the talk folder.

BUG=3379

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 22:20:11 +00:00
buildbot@webrtc.org
ae694effd8 (Auto)update libjingle 78642371-> 78680406
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7545 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 17:37:17 +00:00
buildbot@webrtc.org
fbd55cb27d (Auto)update libjingle 78616359-> 78642371
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7540 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 05:35:35 +00:00
buildbot@webrtc.org
068b529f46 (Auto)update libjingle 78583324-> 78583691
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7532 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27 16:20:42 +00:00
pbos@webrtc.org
efc82c2c73 Implement screencast settings for WebRtcVideoEngine2.
Adds support for screencast_min_bitrate and sets content type
corresponding to the capture type.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7529 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-27 13:58:00 +00:00
buildbot@webrtc.org
3f7bcc126d (Auto)update libjingle 78430441-> 78445452
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7522 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-24 17:26:28 +00:00
buildbot@webrtc.org
c7ed8db7fd (Auto)update libjingle 78427027-> 78430441
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7521 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-24 12:59:08 +00:00
buildbot@webrtc.org
8fe75ee234 (Auto)update libjingle 78381351-> 78389679
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7516 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-23 23:07:23 +00:00
buildbot@webrtc.org
fb5e9fc44e (Auto)update libjingle 78344087-> 78381351
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7515 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-23 21:36:17 +00:00
buildbot@webrtc.org
9d446f2e16 (Auto)update libjingle 78296920-> 78342456
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7507 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-23 12:22:06 +00:00
buildbot@webrtc.org
a9f0898e7d (Auto)update libjingle 78273470-> 78296920
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7501 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-22 22:02:00 +00:00
buildbot@webrtc.org
fb5410a8b7 (Auto)update libjingle 78262388-> 78262615
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7496 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-22 15:45:17 +00:00
pbos@webrtc.org
eacc6e4657 Remove some disabled tests in WebRtcVideoEngine2.
Removes some tests that shouldn't have to be implemented or have already
been through other tests.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7495 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-22 15:36:54 +00:00
buildbot@webrtc.org
a5c36b397a (Auto)update libjingle 78193292-> 78199328
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7485 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-21 20:44:16 +00:00