Commit Graph

40 Commits

Author SHA1 Message Date
42684be21b Wire up CPU adaptation in WebRtcVideoEngine2.
Includes clean-up work to be able to use the webrtc::Call::Config that's
set up. This introduced a CallFactory to spawn a FakeCall with the
config used and allowed removal of FakeWebRtcVideoChannel2.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7370 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-03 11:25:45 +00:00
bbe0a8517d Config struct for VideoEncoder.
Used for config parameters in common between multiple codecs as well as
the encoder-specific pointer. In particular this contains content mode
(realtime video vs. screenshare).

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7239 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-19 12:30:25 +00:00
26c0c41a06 Network up/down signaling in Call.
BUG=2429
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7044 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 16:17:12 +00:00
c4175b9fdf Set resolution based on incoming VideoFrames.
R=pthatcher@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7042 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 15:25:49 +00:00
b648b9d85c Remove test constructor in WebRtcVideoEngine2.
Removes the need for ::Construct().

BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6977 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 11:08:06 +00:00
a09a99950e (Auto)update libjingle 73222930-> 73226398
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 17:26:08 +00:00
c3d2bd28a3 Fix GetStats() crash.
GetStats() can be called before codecs are set and the underlying
webrtc::VideoSendStream is created, leading to a null-pointer
dereference.

BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6876 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12 20:55:10 +00:00
d4e598d57a (Auto)update libjingle 72097588-> 72159069
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 17:36:52 +00:00
8aed945842 Remove a disabled test.
ConstrainsSetCodecsAccordingToEncoderConfig has been removed from
webrtcvideoengine_unittest.cc, removing this one as well.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6789 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-26 10:16:49 +00:00
257e130a16 Set NACK/REMB when setting receive codecs.
Enabling an additional test to ensure that REMB can be both enabled and
disabled by setting VideoCodecs.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6785 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-25 19:01:32 +00:00
9359cb3e75 Enable SendAndReceive tests.
Also fixes a crash in ::SetCapturer which wasn't exposed by tests
before.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6765 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 15:44:48 +00:00
5ff71ab4b3 Revert "(Auto)update libjingle 71675033-> 71726409"
This reverts commit r6761 which looks like an accidental auto-revert of
r6760.

BUG=1788
TBR=wu@webrtc.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6763 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 07:28:56 +00:00
f67f6aa741 (Auto)update libjingle 71675033-> 71726409
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6761 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 07:04:22 +00:00
8120353342 Implement suspend-below-min-bitrate option.
BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6760 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 07:04:08 +00:00
543e589205 Wire up VideoOptions for payload-based padding.
BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6759 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 07:01:31 +00:00
6f48f1bf68 Implement encoder options in WebRtcVideoEngine2.
Implementing default options to enable denoising by default and wiring
up encoder settings to propagate VP8 settings.

BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6757 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-22 16:29:54 +00:00
85f42949d6 Enable ReceiveStreamReceivingByDefault test.
BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6754 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-22 09:14:58 +00:00
3c10758b3b Check before send/receive rtp header extensions.
BUG=1788
R=pbos@webrtc.org, tommi@webrtc.org, wu@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6744 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-20 15:27:35 +00:00
8fdeee6abf Implement Base::ConstrainNewCodec2.
BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6743 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-20 14:40:23 +00:00
e6f84ae8a6 Initial WebRtcVideoEngine2::GetStats().
Also forward-declaring and moving WebRtcVideoRenderer out of header.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 11:11:55 +00:00
d1ea06b3d5 Restart VideoReceiveStreams in WebRtcVideoEngine2.
Puts VideoReceiveStreams in a wrapper, WebRtcVideoReceiveStream that
contain their state (configs). WebRtcVideoRenderer (the wrapper between
webrtc::VideoRenderer and cricket::VideoRenderer) has also been merged
into WebRtcVideoReceiveStream.

Implements and tests setting codecs with new FEC settings as well as RTP
header extensions on already existing receive streams.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6727 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 09:35:58 +00:00
5301b0f1fc Move additional state into WebRtcVideoSendStream.
Prevents having two places where codecs etc. are set up and allows us to
avoid creating the underlying VideoSendStream before send codecs are
set up.

BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6716 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 08:51:46 +00:00
38ce7d03d8 Implement unittest for SetSendCodecsChangesExistingStreams.
BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6699 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 08:01:38 +00:00
cb859ecd3b Replace strcpy with talk_base::strcpyn.
Cpplint reports error 'Almost always, snprintf is better than strcpy'
when checking code styles. The function talk_base::strcpyn() is a better
option than strcpy().

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

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6686 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 08:28:20 +00:00
ccbed3b3c4 Implement unittest SetRecvCodecsAcceptDefaultCodecs.
BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6663 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:02:54 +00:00
bd249bc711 Remove GetDefaultConfigs() from Call.
Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 04:45:15 +00:00
269605ce45 Implement SetSendCodecs() unit tests for WebRtcVideoChannel2.
BUG=
R=pbos@webrtc.org, wu@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6543 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 08:49:03 +00:00
587ef60056 Implement RTP extension support in WebRtcVideoEngine2.
BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6453 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 17:32:02 +00:00
f99c2f2dbc Add NACK feedback parameter to WebRtcVideoEngine2.
Also fixing enabling/disabling of NACK. Previous implementation was made
under the assumption that NACK should always be enabled which caused
both missing NACK settings in SDP as well as broken interop between old
and new WebRtcVideoEngines.

BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6431 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 12:27:38 +00:00
e322a175f6 Implement RTX tests+fixes in WebRtcVideoEngine2.
BUG=1788
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6430 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 11:47:28 +00:00
9fbb717aca Remove engine_codecs_ cache from unittests.
Used interchangably with engine_.codecs() becomes confusing and it's not
really used that much.

BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6429 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 09:34:13 +00:00
86f613d6b8 Move WebRtcVideoEngine2 fakes to unittest header.
BUG=1788
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6382 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 08:53:05 +00:00
6ae48c6609 Make VideoSendStream/VideoReceiveStream configs const.
Benefits of this is that the send config previously had unclear locking
requirements, a lock was used to lock parts parts of it while
reconfiguring the VideoEncoder. Primary work was splitting out video
streams from config as well as encoder_settings as these change on
ReconfigureVideoEncoder. Now threading requirements for both member
configs are clear (as they are read-only), and encoder_settings doesn't
stay in the config as a stale pointer.

CreateVideoSendStream now takes video streams separately as well as the
encoder_settings pointer, analogous to ReconfigureVideoEncoder.

This change required changing so that pacing is silently enabled when
using suspend_below_min_bitrate rather than silently setting it.

R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
BUG=3260

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6349 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 10:49:19 +00:00
0d523eea83 Remove static initializer from WebRtcVideoEngine2.
BUG=
R=pliard@google.com, pthatcher@webrtc.org, pliard@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6338 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 09:10:55 +00:00
540a2251aa (Auto)update libjingle 68230011-> 68230113
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6281 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 07:40:35 +00:00
35efb839ed Implement new-API test RecvStreamWithoutRtx.
R=pthatcher@google.com, pthatcher@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6280 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 07:40:04 +00:00
198647473b Implement and fix new-API NackIsEnabled test.
Required enabling NACK on receiver side which was apparently missed.

BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6278 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 07:35:47 +00:00
b5a22b1464 Revert r6110 and r6109.
Effectively re-landing r6104 as well as r6108 which includes a fix to a
compile error that caused r6104 to be reverted in r6110.

BUG=
TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6119 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 11:07:01 +00:00
17911dca80 (Auto)update libjingle 66798415-> 66813165
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6110 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 18:42:49 +00:00
d266a2020f Initial wiring of new webrtc API in libjingle.
BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org
TBR=juberti@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6104 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 14:32:01 +00:00