77e11bbe83
Wire up preferred/nominal_bitrate to stats.
...
Also adds a test that shows that actual_enc_bitrate was not summed
correctly plus fixing it.
Additionally reducing locking when grabbing stats.
BUG=1778
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34319004
Cr-Commit-Position: refs/heads/master@{#8464}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8464 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 16:39:58 +00:00
1d0fa5d352
Add RtcpPacketTypeCounter stats to new API.
...
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667,1788
Review URL: https://webrtc-codereview.appspot.com/37489004
Cr-Commit-Position: refs/heads/master@{#8429}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8429 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 12:47:45 +00:00
86196c4f48
Setup encoders inexpensively before first frame.
...
Modifies WebRtcVideoSendStream to use a default width/height of 16px.
This significantly reduces SetRemoteDescription time under
WebRtcVideoEngine2. Also preventing (expensive) reconfigurations due to
incoming frames when the channel is not sending yet.
Tests have been modified to generate a frame before expecting a certain
encoder size to have been configured.
Also adding tracing to WebRtcVideoSendStream::InputFrame as it can lead
to reconfigurations of the encoder which is expensive and it should show
up in chrome://tracing.
BUG=1788
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42369004
Cr-Commit-Position: refs/heads/master@{#8381}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8381 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-16 21:02:20 +00:00
e7a4a12f83
Add arraysize() macro from Chromium, and make use of it in a few places.
...
This not only shortens some test code, it makes it more robust against changing
the lengths of the arrays later and forgetting to update the length constants
(which bit me).
BUG=none
TEST=none
R=hta@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34829004
Cr-Commit-Position: refs/heads/master@{#8191}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8191 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 21:37:13 +00:00
fc5ad95fec
Reland of: "Implement elapsed time and capture start NTP time estimation." revision @8139
...
Link to original CL: https://review.webrtc.org/36909004/
R=pbos@webrtc.org
TBR=pthatcher@webrtc.org
BUG=4227
Review URL: https://webrtc-codereview.appspot.com/39669004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8162 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 09:57:01 +00:00
0f98844749
Revert 8139 "Implement elapsed time and capture start NTP time e..."
...
> Implement elapsed time and capture start NTP time estimation.
>
> These two elements are required for end-to-end delay estimation.
>
> BUG=1788
> R=stefan@webrtc.org
> TBR=pthatcher@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/36909004
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41619004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8143 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-23 21:17:38 +00:00
ad3ee2c46b
Implement elapsed time and capture start NTP time estimation.
...
These two elements are required for end-to-end delay estimation.
BUG=1788
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36909004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8139 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-23 14:55:00 +00:00
f18fba2f7b
Implement SimulcastEncoderAdapter support.
...
R=stefan@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/37589004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8061 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 16:26:23 +00:00
8f27fcce79
Revert 8028 "Support associated payload type when registering Rt..."
...
Reasons for revert:
1. glaznev discovered potentially related problems using the Android AppRTCDemo.
2. We're trying to do an M41 webrtc roll in Chromium, and this CL is risky.
> Support associated payload type when registering Rtx payload type.
>
> Major changes include,
> - Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
> - Receiver: Restore RTP packets by the new RTX-APT map.
> - Sender: Send RTP packets by checking RTX-APT map.
> - Add RTX payload type for RED in the default codec list.
>
> BUG=4024
> R=pbos@webrtc.org , stefan@webrtc.org
> TBR=mflodman@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/26259004
>
> Patch from Changbin Shao <changbin.shao@intel.com >.
TBR=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8033 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 20:22:46 +00:00
2a169640a3
Support associated payload type when registering Rtx payload type.
...
Major changes include,
- Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
- Receiver: Restore RTP packets by the new RTX-APT map.
- Sender: Send RTP packets by checking RTX-APT map.
- Add RTX payload type for RED in the default codec list.
BUG=4024
R=pbos@webrtc.org , stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26259004
Patch from Changbin Shao <changbin.shao@intel.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8028 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 15:16:10 +00:00
c37e72e890
Make setting identical RTP extensions a no-op.
...
Setting extensions are responsible for a lot of stream tear-downs
causing substantial slowdowns in SetRemoteDescription.
BUG=1788,4077
R=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40389004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7998 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-05 18:51:13 +00:00
896888b7e4
Remove min bitrate from simulcast streams.
...
Bitrates are still set using SetBitrateConfig() either way, and this
code causes assertion failures in
VideoSendStream::ReconfigureVideoEncoder: Assertion
`streams[i].target_bitrate_bps >= streams[i].min_bitrate_bps' failed.
R=pthatcher@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/38529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7990 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-02 15:40:56 +00:00
742386a136
Enable payload-based padding by default and remove the API.
...
BUG=1812
R=mflodman@webrtc.org , pbos@webrtc.org , perkj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31319004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7964 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 15:33:17 +00:00
2b19f06312
Wire up RTT statistics to webrtc::Call.
...
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667,1788
Review URL: https://webrtc-codereview.appspot.com/32249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7876 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 13:26:09 +00:00
a85307737c
(Auto)update libjingle 81702493-> 81755413
...
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7860 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 09:01:18 +00:00
273a414b0e
Report encoded frame size in VideoSendStream.
...
Implements reporting transmitted frame size in WebRtcVideoEngine2.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=4033
Review URL: https://webrtc-codereview.appspot.com/33399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7772 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 15:23:21 +00:00
008731868a
Implement settable min/start/max bitrates in Call.
...
These parameters are set by the x-google-*-bitrate SDP parameters. This
is implemented on a Call level instead of per-stream like the currently
underlying VideoEngine implementation to allow this refactoring to not
reconfigure the VideoCodec at all but rather adjust bandwidth-estimator
parameters.
Also implements SetMaxSendBandwidth in WebRtcVideoEngine2 as it's a SDP
parameter and allowing it to be dynamically readjusted in Call.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/26199004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7746 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-25 14:03:34 +00:00
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
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
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
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
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
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
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
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
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
fa553ef605
Set up start bitrate in WebRtcVideoEngine2.
...
R=stefan@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/27789004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7476 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-20 11:07:07 +00:00
1ecbe45c7e
(Auto)update libjingle 77689511-> 77696841
...
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7449 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 20:29:28 +00:00
7fe1e03dd6
Wire up external encoders.
...
R=pthatcher@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/30649005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7440 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 04:25:33 +00:00
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