Peter Boström
e449915455
Measure encoding time on encode callbacks.
...
Permits measuring encoding time even when performed on another thread,
typically for hardware encoding, instead of assuming that encoding is
blocking the calling thread.
Permitted encoding time is increased for hardware encoders since they
can be timed to keep 30fps, for instance, without indicating overload.
Merges EncodingTimeObserver into EncodedFrameObserver to have one post-encode
callback.
BUG=webrtc:5042, webrtc:5132
R=asapersson@webrtc.org , mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1569853002 .
Cr-Commit-Position: refs/heads/master@{#11499}
2016-02-05 10:13:41 +00:00
Peter Boström
b7d9a97ce4
Expose codec implementation names in stats.
...
Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.
BUG=webrtc:4897
R=hta@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1406903002 .
Cr-Commit-Position: refs/heads/master@{#11084}
2015-12-18 15:01:23 +00:00
asapersson
17821db197
Wire up bandwidth limitation info to GetStats and adapt_reason.
...
The input resolution (output from video_adapter) can be further scaled down or higher video layer(s) can be dropped due to bitrate constraints.
BUG=webrtc:4112
Review URL: https://codereview.webrtc.org/1502173002
Cr-Commit-Position: refs/heads/master@{#11006}
2015-12-14 10:08:19 +00:00
deadbeef
1387149ad1
Adding reduced size RTCP configuration down to the video stream level.
...
Still waiting to turn on negotiation (in mediasession.cc)
until we verify it's working as expected.
BUG=webrtc:4868
Review URL: https://codereview.webrtc.org/1418123003
Cr-Commit-Position: refs/heads/master@{#10958}
2015-12-09 20:37:59 +00:00
ivica
8d15bd6dab
Reland of Collecting encode_time_ms for each frame (patchset #1 id:1 of https://codereview.webrtc.org/1383283005/ )
...
Reason for revert:
The reverted commit didn't affect the tests, but the one before: https://codereview.webrtc.org/1385563005/
I've run the test that was failing (EndToEndTest.AssignsTransportSequenceNumbers) locally multiple times, and it works fine (finishes successfully in 150-170ms).
Original issue's description:
> Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
>
> Reason for revert:
> Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
> on several bots:
> http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
> http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
> http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414
>
> It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.
>
> Original issue's description:
> > Collecting encode_time_ms for each frame.
> >
> > Also, in Sample struct, replacing double with the original type.
> > It makes more sense to save the original data as truthful as possible, and then
> > convert it to double later if necessary (in the plot script).
> >
> > Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> > Cr-Commit-Position: refs/heads/master@{#10184}
>
> TBR=sprang@webrtc.org ,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/810447972425e890bc7911af27f894b86e9b7e6f
> Cr-Commit-Position: refs/heads/master@{#10185}
TBR=sprang@webrtc.org ,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1390163002
Cr-Commit-Position: refs/heads/master@{#10195}
2015-10-07 09:43:25 +00:00
kjellander
8104479724
Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
...
Reason for revert:
Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
on several bots:
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414
It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.
Original issue's description:
> Collecting encode_time_ms for each frame.
>
> Also, in Sample struct, replacing double with the original type.
> It makes more sense to save the original data as truthful as possible, and then
> convert it to double later if necessary (in the plot script).
>
> Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> Cr-Commit-Position: refs/heads/master@{#10184}
TBR=sprang@webrtc.org ,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1383283005
Cr-Commit-Position: refs/heads/master@{#10185}
2015-10-06 18:34:14 +00:00
ivica
092b13384e
Collecting encode_time_ms for each frame.
...
Also, in Sample struct, replacing double with the original type.
It makes more sense to save the original data as truthful as possible, and then
convert it to double later if necessary (in the plot script).
Review URL: https://codereview.webrtc.org/1374233002
Cr-Commit-Position: refs/heads/master@{#10184}
2015-10-06 14:13:50 +00:00
pbos
2d566686a2
Unify Transport and newapi::Transport interfaces.
...
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1369263002
Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
solenberg
e526974759
Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/
...
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1325263002
Cr-Commit-Position: refs/heads/master@{#9891}
2015-09-08 12:13:25 +00:00
sophiechang
47d78cc8ad
Pass the encoder's internal source property through to video_sender to request a keyframe from the external encoder
...
BUG=
Review URL: https://codereview.webrtc.org/1263663005
Cr-Commit-Position: refs/heads/master@{#9853}
2015-09-04 01:24:53 +00:00
solenberg
4fbae2b791
Add send transports to individual webrtc::Call streams.
...
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1273363005
Cr-Commit-Position: refs/heads/master@{#9807}
2015-08-28 11:07:15 +00:00
Jelena Marusic
cd6702282a
Define Stream base classes
...
BUG=webrtc:4690
Defined classes Stream, SendStream and ReceiveStream. Inherited existing stream classes from either SendStream or ReceiveStream.
This is a step towards having a Transport associated with streams instead of a Call. It will allow a lot of code in the Call to be media type agnostic.
R=henrika@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1226123005 .
Cr-Commit-Position: refs/heads/master@{#9591}
2015-07-16 07:30:20 +00:00
Peter Boström
4b91bd0897
Move frame input (ViECapturer) to webrtc/video/.
...
Renames ViECapturer to VideoCaptureInput and initializes several
parameters on construction instead of setters.
Also removes an old deadlock suppression.
BUG=1695, 2999
R=asapersson@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/53559004 .
Cr-Commit-Position: refs/heads/master@{#9508}
2015-06-26 04:58:23 +00:00
Fredrik Solenberg
78fb3b3f8f
C++11 in-class member initialization in Call configs.
...
BUG=
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1166263004 .
Cr-Commit-Position: refs/heads/master@{#9416}
2015-06-11 10:38:46 +00:00
Miguel Casas-Sanchez
4765070b8d
Rename I420VideoFrame to VideoFrame.
...
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.
Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.
BUG=4730, chromium:440843
R=jiayl@webrtc.org , niklas.enbom@webrtc.org , pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/52629004
Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
perkj@webrtc.org
af612d5e07
Reland "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.""
...
Original cl description:
This removes the none const pointer entry and SwapFrame.
Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.
With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame
This cl was previously reverted in https://webrtc-codereview.appspot.com/46549004/ .
Patchset 1 contains the original patch after rebase.
Patshet 2 fix webrtc_perf_tests reported in chromium:465306
Note that chromium:465287 is being fixed in https://webrtc-codereview.appspot.com/43829004/
BUG=1128
R=magjed@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/47629004
Cr-Commit-Position: refs/heads/master@{#8776}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8776 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 09:51:44 +00:00
magjed@webrtc.org
d7452a0168
Revert "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame."
...
This reverts commit r8633.
Reason for revert: Performance regressions in browser_tests_new_vie and webrtc_perf_tests.
BUG=1128,chromium:465287,chromium:465306
TBR=pbos,mflodman,perkj
Review URL: https://webrtc-codereview.appspot.com/46549004
Cr-Commit-Position: refs/heads/master@{#8670}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8670 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 15:13:13 +00:00
perkj@webrtc.org
bcead305a2
Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.
...
This removes the none const pointer entry and SwapFrame.
Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.
With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame
BUG=1128
R=magjed@webrtc.org , mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46429004
Cr-Commit-Position: refs/heads/master@{#8633}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8633 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:38:22 +00:00
pbos@webrtc.org
891d48393e
Wire up target_media_bitrate in VideoSendStream.
...
Also wires up target_enc_bitrate in WebRtcVideoEngine2.
BUG=1667,1788
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42479004
Cr-Commit-Position: refs/heads/master@{#8515}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8515 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 13:16:17 +00:00
pbos@webrtc.org
3e6e271ec3
Implement CpuOveruseMetrics as callbacks.
...
Adds avg_encode_ms and encode_usage_percent in WebRtcVideoEngine2 and
corresponding stats to VideoSendStream::Stats.
BUG=1667, 1788
R=asapersson@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42429004
Cr-Commit-Position: refs/heads/master@{#8513}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8513 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 12:20:24 +00:00
pbos@webrtc.org
09c77b95bb
Add decoder-timing stats to VideoReceiveStream.
...
Also breaks out SsrcStats from VideoReceiveStream::Stats as they don't
have that much overlap.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667, 1788
Review URL: https://webrtc-codereview.appspot.com/40819004
Cr-Commit-Position: refs/heads/master@{#8501}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8501 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:42:45 +00:00
pbos@webrtc.org
32e8528581
Log configs when creating video streams in Call.
...
Adds VideoReceiveStream::Config::ToString and logs configs in both
Call::CreateVideoSendStream and Call::CreateVideoReceiverStream.
R=mflodman@webrtc.org
BUG=1667
Review URL: https://webrtc-codereview.appspot.com/41519004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8075 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 10:09:39 +00:00
stefan@webrtc.org
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
pbos@webrtc.org
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
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
pbos@webrtc.org
ad3b5a5c16
Move min transmit bitrate to VideoEncoderConfig.
...
min_transmit_bitrate_bps needs to be reconfigurable during a call (since
this is currently set only for screensharing through libjingle and can't
be set once and for all for the entire Call.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=1667
Review URL: https://webrtc-codereview.appspot.com/28779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7518 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-24 09:23:21 +00:00
pbos@webrtc.org
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
stefan@webrtc.org
168f23faa5
Move pacer to fully use webrtc::Clock instead of webrtc::TickTime.
...
This required rewriting the send-side delay stats api to be callback based, as otherwise the SuspendBelowMinBitrate test started flaking much more frequently since it had lock order inversion problems.
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21869005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:44:02 +00:00
stefan@webrtc.org
4ef438e2de
Remove the send-side cname getter APIs from voice and video engine.
...
These APIs aren't being used, and introduces deadlocks when using GetStats() in the new Call api. Having getters for cname at the send-side is pointless, as it's always the user who sets the cname.
R=henrika@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 09:55:30 +00:00
stefan@webrtc.org
cb254aac3b
Enable pacing by default and remove the option to disable it from the new API.
...
BUG=1672
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6416 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 15:12:25 +00:00
stefan@webrtc.org
fbb567dacd
Add APIs to enable padding with redundant payloads.
...
Also makes a small change to the tests to remove flakiness. We can't do
BWE only based on rtp timestamps if we preemptively resend packets instead
of sending padding packets.
BUG=1812,2992
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6400 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 13:41:36 +00:00
pbos@webrtc.org
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
stefan@webrtc.org
ef92755780
Have RTX be enabled by setting an RTX payload type instead of by setting an RTX SSRC.
...
This makes it easier to disable RTX by filtering out the RTX codec during call setup/signaling, and won't require that also the SSRCs are filtered out.
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15629005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6335 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:25:29 +00:00
pbos@webrtc.org
1566ee2893
Revert "Revert "Remove VideoSendStreamInput::PutFrame.""
...
This reverts commit r6230 to re-land r6229.
ViECapturer::SwapFrame now resets timestamps.
BUG=
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6231 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 13:03:45 +00:00
pbos@webrtc.org
2cdd433edf
Revert "Remove VideoSendStreamInput::PutFrame."
...
This reverts r6229.
Test WebRtcVideoChannel2BaseTest.MuteStream fails after r6229.
BUG=
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19529005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6230 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 10:43:26 +00:00
pbos@webrtc.org
f3085e43ab
Remove VideoSendStreamInput::PutFrame.
...
PutFrame just copies the frame before swapping it, if it's required that
can easily be done outside this API before swapping the frame.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14529006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6229 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 09:41:45 +00:00
pbos@webrtc.org
1e92b0a93d
Add ToString() to VideoSendStream::Config.
...
Adds ToString() to subsequent parts as well as a common.gyp to define
ToString() methods for config.h. VideoStream is also moved to config.h.
BUG=3171
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6170 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 09:35:06 +00:00
pbos@webrtc.org
a5c8d2c9b3
Rename Start/Stop in Video{Send,Receive}Streams.
...
Rename {Start,Stop}{Sending,Receving} to Start/Stop. StartSending
provides no extra information in the context of a VideoSendStream, as
what it does is to send.
R=mflodman@webrtc.org
BUG=3227
Review URL: https://webrtc-codereview.appspot.com/12329005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5970 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 11:13:21 +00:00
pbos@webrtc.org
709e29742e
Simplify pacer interface.
...
New interface uses two bitrates (max/min). The pace multiplier is also
removed from the interface and instead utilized outside. Min bitrate
will be filled with padding if there's not enough media to transmit.
Also fixes a bug in minimum transmission bitrate that made it ignore
REMBs. A regression test has been added to catch it.
BUG=3014
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5723 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 10:59:52 +00:00
pbos@webrtc.org
f577ae9eac
Remove internal codecs from VideoSendStream.
...
Replaces VideoCodec in VideoSendStream::Config with an EncoderSettings
struct. The EncoderSettings struct uses an external encoder for all
codecs. This means that external users, such as libjingle, will provide
the encoders themselves, removing the previous distinction of internal
and external codecs.
For now VideoSendStream translates to VideoCodec internally. In the
interrim (before the corresponding change is implemented in
VideoReceiveStream) tests convert EncoderSettings to VideoCodecs.
Removes Call::GetVideoCodecs().
Disables RampUpTest.WithPacingAndRtx as its further exposed with changes
to bitrates used in tests.
BUG=2854,2992
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 08:43:57 +00:00
henrik.lundin@webrtc.org
b10363f3b6
Re-landing "Routing SuspendChange to VideoSendStream::Stats"
...
This was originally committed as r5687, but reverted due to a flaky
test.
BUG=3040
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5695 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 13:31:21 +00:00
pbos@webrtc.org
3349ae0cdc
Implement minimum transmit bitrate.
...
Utilizing minimum transmission bitrate prevents low remote bitrate
estimates (bitrate estimation dips) when encoding non-complex content
such as screenshare of a static image even though there's nothing wrong
with the link.
Requires pacing to be enabled for now, pending issue 3036.
BUG=3014
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 12:52:27 +00:00
henrik.lundin@webrtc.org
be39470203
Revert "Routing SuspendChange to VideoSendStream::Stats"
...
The test VideoSendStreamTest.SuspendBelowMinBitrate seems flaky.
Reverting and investigating.
BUG=3040
Review URL: https://webrtc-codereview.appspot.com/9799004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5681 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-11 17:13:14 +00:00
henrik.lundin@webrtc.org
1598b80f52
Routing SuspendChange to VideoSendStream::Stats
...
Also checking that the statistics are properly updated in
VideoSendStreamTest.SuspendBelowMinBitrate.
Adding a test to SendStatisticsProxyTest.
Checking callback status in rampup test, too.
BUG=2457
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9439004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5678 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-11 14:57:35 +00:00
sprang@webrtc.org
09315705b9
Wire up statistics in video receive stream of new API
...
This CL includes Call tests that test both send and receive sides.
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8049004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5499 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-07 12:06:29 +00:00
pbos@webrtc.org
c279a5d72c
Wire up RTX in VideoReceiveStream.
...
Also adds a test to make sure that a retransmitted frame is actually
received and decoded on the remote side. The previous NACK test checked
retransmission, but not that the receiver actually takes care of the
retransmitted packet.
BUG=2399
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7469004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 09:30:53 +00:00
sprang@webrtc.org
ccd42840bc
Wire up statistics in video send stream of new video engine api
...
Note, this CL does not contain any tests. Those are implemeted as call
tests and will be submitted when the receive stream is wired up as well.
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5559006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5344 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 09:54:34 +00:00
mflodman@webrtc.org
b429e516a9
cpplint cleaning new API and its implementation files.
...
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6089005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5317 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 09:46:22 +00:00
pbos@webrtc.org
724947b8ef
Add SwapFrame() to VideoSendStreamInput.
...
Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.
Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.
BUG=2657
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 16:26:16 +00:00
sprang@webrtc.org
4070935f4f
Implement and test EncodedImageCallback in new ViE API.
...
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +00:00