895 Commits

Author SHA1 Message Date
Peter Boström
a03785e924 Move all calls after SetEncoder into SetEncoder.
Intended to make SetEncoder callable from another thread so that
ReconfigureVideoEncoder can post SetEncoder over and return earlier to
prevent blocking the calling thread.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1751363003 .

Cr-Commit-Position: refs/heads/master@{#11856}
2016-03-03 10:36:26 +00:00
Peter Boström
905f8e7e9d Make ReconfigureVideoEncoder void.
Also moves and simplifies SetSendCodec from VideoSendStream to mostly
inside ViEEncoder. This is necessary for making
ReconfigureVideoEncoder asynchronous as we don't post any result back.

BUG=webrtc:5494
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1754283002 .

Cr-Commit-Position: refs/heads/master@{#11847}
2016-03-02 16:00:07 +00:00
Peter Boström
0a9fc05583 Move RTP module send status outside of ViEChannel.
Removes StartSend, StopSend and SetSendCodec from ViEChannel and into
VideoSendStream which uses the payload router to configure them
directly.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1758603003 .

Cr-Commit-Position: refs/heads/master@{#11845}
2016-03-02 15:24:21 +00:00
Peter Boström
4fa7ecad12 Remove add/removal of ViEReceiver RTP modules.
Since all possible modules are known on Init we don't need to add/remove
them in runtime.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1739893005 .

Cr-Commit-Position: refs/heads/master@{#11843}
2016-03-02 14:06:04 +00:00
Niels Möller
60653ba3cc New flag is_screencast in VideoOptions.
This cl copies the value of cricket::VideoCapturer::IsScreencast into
a flag in VideoOptions. It is passed on via the chain

VideortpSender::SetVideoSend
WebRtcVideoChannel2::SetVideoSend
WebRtcVideoChannel2::SetOptions
WebRtcVideoChannel2::WebRtcVideoSendStream::SetOptions

Where it's used, in
WebRtcVideoChannel2::WebRtcVideoSendStream::OnFrame, we can look it up
in parameters_, instead of calling capturer_->IsScreencast().

Doesn't touch screencast logic related to cpu adaptation, since that
code is in flux in a different cl.

Also drop the is_screencast flag from the Dimensions struct, and drop separate options argument from ConfigureVideoEncoderSettings and SetCodecAndOptions, instead always using the options recorded in VideoSendStreamParameters::options.

In the tests, changed FakeVideoCapturer::is_screencast to be a construction time flag. Generally, unittests of screencast have to both use a capturer configured for screencast, and set the screencast flag using SetSendParameters. Since the automatic connection via VideoSource and VideoRtpSender isn't involved in the unit tests.

Note that using SetSendParameters to set the screencast flag doesn't make sense, since it's not per-stream. SetVideoSend would be more appropriate. That should be fixed if/when we drop VideoOptions from SetSendParameters.

BUG=webrtc:5426
R=pbos@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1711763003 .

Cr-Commit-Position: refs/heads/master@{#11837}
2016-03-02 10:41:49 +00:00
kwiberg
27f982bbcb Replace scoped_ptr with unique_ptr in webrtc/video/
BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1751903002

Cr-Commit-Position: refs/heads/master@{#11833}
2016-03-01 19:52:39 +00:00
Erik Språng
22c2b4814a Move RTP stats histograms from VieChannel to SendStatisticsProxy.
Also slice for screensharing.

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

Review URL: https://codereview.webrtc.org/1734933002 .

Cr-Commit-Position: refs/heads/master@{#11822}
2016-03-01 08:40:54 +00:00
danilchap
ac287ee8b5 VideoCaptureInput enforce VideoFrame::render_time to be generated by webrtc clock.
render_time time field (means capture time for sender side) is used by rtcp SenderReport to calculate offset since last frame and to estimate rtp timestamp for the time SenderReport should be send at.
mapping between rtp timestamp and ntp time in SenderReport is used for stream synchronization.

calculation of rtp_timestamp (using ntp_time of incoming video frame) for rtp packets is unchanged.

BUG=webrtc:5433, webrtc:5504, webrtc:5505

Review URL: https://codereview.webrtc.org/1693443002

Cr-Commit-Position: refs/heads/master@{#11820}
2016-02-29 20:17:10 +00:00
Peter Boström
012f8c0e73 Remove unused encoder_config_ variable.
BUG=
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1743633002 .

Cr-Commit-Position: refs/heads/master@{#11818}
2016-02-29 14:42:30 +00:00
Niels Möller
739fcb989d Cleanup of webrtc::VideoFrame.
Delete EqualsFrame method, used only by tests. Delete one of the
CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
and CopyFrame.

BUG=webrtc:5426

Committed: https://crrev.com/208019637bfed975f8f13b16d40b90e200763cd6
Cr-Commit-Position: refs/heads/master@{#11783}

R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1679323002 .

Cr-Commit-Position: refs/heads/master@{#11811}
2016-02-29 12:11:57 +00:00
kjellander@webrtc.org
7ffeab525c Reland "Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies."
This is a reland of https://codereview.webrtc.org/1737593002/ minus
the added missing headers in webrtc/{BUILD.gn,webrtc.gyp} and
webrtc/common.gyp that breaks GN in Chromium since it's using
the --check flag (which we should support).

BUG=webrtc:4243, webrtc:5589
TESTED=Tried generating GN files with --check in a Chromium checkout with this patch applied, successfully.
TBR=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1740873003 .

Cr-Commit-Position: refs/heads/master@{#11794}
2016-02-26 21:46:22 +00:00
kjellander
54ebfca934 Revert of Cleanup of webrtc::VideoFrame. (patchset #6 id:100001 of https://codereview.webrtc.org/1679323002/ )
Reason for revert:
Breaks downstream compilation. Please make non-breaking API changes for the reland or coordinate fixing downstream code quickly with the sheriff.

Original issue's description:
> Cleanup of webrtc::VideoFrame.
>
> Delete EqualsFrame method, used only by tests. Delete one of the
> CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
> and CopyFrame.
>
> BUG=webrtc:5426
>
> Committed: https://crrev.com/208019637bfed975f8f13b16d40b90e200763cd6
> Cr-Commit-Position: refs/heads/master@{#11783}

TBR=pbos@webrtc.org,perkj@webrtc.org,pthatcher@webrtc.org,mflodman@webrtc.org,marpan@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5426

Review URL: https://codereview.webrtc.org/1743613002

Cr-Commit-Position: refs/heads/master@{#11789}
2016-02-26 15:38:57 +00:00
Peter Boström
f8136bac63 Remove add/removal of RTP modules in PacketRouter.
PacketRouter still relies on SendingMedia() which is set to false for
the disabled modules.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1739283002 .

Cr-Commit-Position: refs/heads/master@{#11788}
2016-02-26 15:37:22 +00:00
Peter Boström
8b79b07a55 Move RTP module activation into PayloadRouter.
Simplifies PayloadRouter to not accept dynamically-changing modules as
well as usage of PayloadRouter inside ViEChannel::SetSendCodec.

BUG=webrtc:5494
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1725363003 .

Cr-Commit-Position: refs/heads/master@{#11787}
2016-02-26 15:31:44 +00:00
Peter Boström
9c01725e37 Simplify registration of RTP-header extensions.
Removes per-extension functions in ViEChannel/ViEReceiver and instead
register extensions directly on the RTP module by mapping extension
string to RTP-header-extension type.

BUG=webrtc:5494
R=danilchap@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1740133002 .

Cr-Commit-Position: refs/heads/master@{#11786}
2016-02-26 15:26:29 +00:00
nisse
208019637b Cleanup of webrtc::VideoFrame.
Delete EqualsFrame method, used only by tests. Delete one of the
CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
and CopyFrame.

BUG=webrtc:5426

Review URL: https://codereview.webrtc.org/1679323002

Cr-Commit-Position: refs/heads/master@{#11783}
2016-02-26 14:40:47 +00:00
Danil Chapovalov
029e220593 Removes use of DeRegister Rtp Header Extension for video
BUG=webrtc:1884
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1735033003 .

Cr-Commit-Position: refs/heads/master@{#11778}
2016-02-26 10:58:36 +00:00
kjellander
7324eb9e62 Revert of Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies. (patchset #2 id:40001 of https://codereview.webrtc.org/1737593002/ )
Reason for revert:
Breaks GN in chromium.

Original issue's description:
> Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
>
> webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
> depending on voice engine, resulting in a cyclic dependency (which we
> don't detect since we have that check turned off, see webrtc:4243).
>
> BUG=webrtc:4243, webrtc:5589
> R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
> TBR=tommi@webrtc.org
>
> Committed: https://crrev.com/99b345c4e50c59a776c56949c17da3f50992f1a2
> Cr-Commit-Position: refs/heads/master@{#11766}

TBR=solenberg@webrtc.org,pbos@webrtc.org,perkj@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4243, webrtc:5589

Review URL: https://codereview.webrtc.org/1739783002

Cr-Commit-Position: refs/heads/master@{#11769}
2016-02-25 16:37:02 +00:00
Peter Boström
3dd5d1d84a Remove PacketRouter sender distinction.
Instead relies on SetSendingMediaStatus() to filter out receiving RTP
modules. This status is now set in VoiceEngine's SetSend() for senders
along with SetSendingStatus().

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

Review URL: https://codereview.webrtc.org/1705763002 .

Cr-Commit-Position: refs/heads/master@{#11768}
2016-02-25 15:56:58 +00:00
kjellander@webrtc.org
99b345c4e5 Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
depending on voice engine, resulting in a cyclic dependency (which we
don't detect since we have that check turned off, see webrtc:4243).

BUG=webrtc:4243, webrtc:5589
R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1737593002 .

Cr-Commit-Position: refs/heads/master@{#11766}
2016-02-25 14:12:48 +00:00
pbos
a26ac925f7 Reland of move ignored return code from modules. (patchset #1 id:1 of https://codereview.webrtc.org/1736663004/ )
Reason for revert:
Revert breaks other uses, a fix will be rolled into Chromium instead.

Original issue's description:
> Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ )
>
> Reason for revert:
> Breaks Chromium.
>
> Original issue's description:
> > Remove ignored return code from modules.
> >
> > ModuleProcessImpl doesn't act on return codes and having them around is
> > confusing (it's unclear what an error return code here would do even).
> >
> > BUG=
> > R=tommi@webrtc.org
> >
> > Committed: f14c47a58c
>
> TBR=tommi@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/da33a8a2a22f6d19ba2a8cce963beafbdbaa8fd8
> Cr-Commit-Position: refs/heads/master@{#11761}

TBR=tommi@webrtc.org,torbjorng@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.webrtc.org/1737013002

Cr-Commit-Position: refs/heads/master@{#11762}
2016-02-25 12:50:09 +00:00
torbjorng
da33a8a2a2 Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ )
Reason for revert:
Breaks Chromium.

Original issue's description:
> Remove ignored return code from modules.
>
> ModuleProcessImpl doesn't act on return codes and having them around is
> confusing (it's unclear what an error return code here would do even).
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: f14c47a58c

TBR=tommi@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.webrtc.org/1736663004

Cr-Commit-Position: refs/heads/master@{#11761}
2016-02-25 12:34:12 +00:00
sprang
07fb9be37f Move RTCP histograms from vie_channel to video channel stats proxies.
Also slice those histograms on content type.

BUG=

Review URL: https://codereview.webrtc.org/1720883002

Cr-Commit-Position: refs/heads/master@{#11748}
2016-02-24 15:55:06 +00:00
Peter Boström
f14c47a58c Remove ignored return code from modules.
ModuleProcessImpl doesn't act on return codes and having them around is
confusing (it's unclear what an error return code here would do even).

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1703833002 .

Cr-Commit-Position: refs/heads/master@{#11747}
2016-02-24 15:51:23 +00:00
Peter Boström
985177c757 Keep disabled RtpRtcp modules registered.
Makes RtpRtcp modules disable-able from any thread, which are intended
to be modified from the encoder thread in the future for encoders to be
able to be initialized asynchronously from the main worker thread.

Removes/simplifies module usage inside ViEChannel.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1721713002 .

Cr-Commit-Position: refs/heads/master@{#11746}
2016-02-24 15:12:45 +00:00
Peter Boström
23353ab465 Increase encoder-overuse thresholds for HW.
Puts thresholds in a range that works well on Nexus 5X (doesn't
seem to trigger overuse), while not disabling them for systems that have
a really-really hard time (>200% overuse).

BUG=webrtc:5577
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1730103003 .

Cr-Commit-Position: refs/heads/master@{#11744}
2016-02-24 14:20:06 +00:00
sprang
0ab8e81e12 Move histograms for rtp receive counters to ReceiveStatisticsProxy
BUG=

Review URL: https://codereview.webrtc.org/1726503003

Cr-Commit-Position: refs/heads/master@{#11735}
2016-02-24 09:35:45 +00:00
tkchin
f75d008235 Bitrate controller for VideoToolbox encoder.
Also fixes a crash on encoder Release.

BUG=webrtc:4081

Review URL: https://codereview.webrtc.org/1660963002

Cr-Commit-Position: refs/heads/master@{#11729}
2016-02-24 06:49:48 +00:00
Peter Boström
b1eaa8df0d Only average positive quality stats.
Removes addition of at least one zero sample in webrtc_perf_tests that
can skew stats differently depending on how often these stats are
updated. Unclear if this skewing is different between now and before.

BUG=chromium:585071, chromium:586216
R=sprang@google.com, sprang@webrtc.org

Review URL: https://codereview.webrtc.org/1727583003 .

Cr-Commit-Position: refs/heads/master@{#11720}
2016-02-23 16:30:55 +00:00
Stefan Holmer
80e12072cf Move congestion controller to a separate module.
This allows other projects to more easily depend on this.

The plan is to move remote_bitrate_estimator and bitrate_controller into this module and reduce the exposed interface to only a simplified version of congestion_controller.h.

No functional changes in this CL.

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

Review URL: https://codereview.webrtc.org/1718473002 .

Cr-Commit-Position: refs/heads/master@{#11718}
2016-02-23 12:30:51 +00:00
Peter Boström
723ead844b Move simple RtpRtcp calls to VideoSendStream.
Moves RtpRtcp module pointers into VideoSendStream and uses them for
simple calls that were only forwarded by ViEChannel.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1693553002 .

Cr-Commit-Position: refs/heads/master@{#11709}
2016-02-22 14:14:09 +00:00
Peter Boström
0013dcc0c1 Simplify SSRC usage inside ViEEncoder.
Since SSRCs can no longer change on the fly, SSRC code can be made a lot
simpler (and faster). Resulting code has less and shorter locking.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1713683003 .

Cr-Commit-Position: refs/heads/master@{#11691}
2016-02-19 19:42:30 +00:00
Peter Boström
7254890b28 Nuke SetSenderBufferingMode.
Removes dead code in both ViEChannel and ViEEncoder that is no longer
invoked.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1715823002 .

Cr-Commit-Position: refs/heads/master@{#11690}
2016-02-19 18:58:43 +00:00
sprang
e2d83d6560 Use CallStats for RTT in Call, rather than VideoSendStream::GetRtt()
Also move some stats reporting from vie_channel to send stats proxy

BUG=

Review URL: https://codereview.webrtc.org/1669623004

Cr-Commit-Position: refs/heads/master@{#11688}
2016-02-19 17:03:34 +00:00
Peter Boström
45c44f0b94 Simplify EncoderStateFeedback.
EncoderStateFeedback is now only connected to one encoder, so remove map
and other complexity to deliver feedback more directly.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1706803002 .

Cr-Commit-Position: refs/heads/master@{#11687}
2016-02-19 16:36:13 +00:00
Peter Boström
fc968a283c Fix sequence-number replay race for padding.
Prevents allocating sequence numbers for packets that go out on the
network even though sending media is disabled.

This race caused a replay of sequence numbers when GetRtpState() on a
stopped stream would not return the last sequence number sent, since the
pacer thread could request and send padding on a later sequence number
before the modules are disconnected from the pacer.

BUG=webrtc:5543
R=stefan@webrtc.org
TEST=Repeating EndToEndTest.RestartingSendStreamPreservesRtpState 1000 times under TSan.

Review URL: https://codereview.webrtc.org/1715703002 .

Cr-Commit-Position: refs/heads/master@{#11685}
2016-02-19 15:14:44 +00:00
Stefan Holmer
59c634b605 Re-add RemoteBitrateEstimator::GetStats.
Will be kept around until implementations have been updated.

This fixes build issues in dependent code caused by removing GetStats in 62a5ccdb53

R=kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/1709673003 .

Cr-Commit-Position: refs/heads/master@{#11664}
2016-02-18 09:14:55 +00:00
peah
a08bb0d163 Disabled the test EndToEndTest RestartingSendStreamPreservesRtpState due to the test being flaky.
BUG=webrtc:5543

Review URL: https://codereview.webrtc.org/1703963002

Cr-Commit-Position: refs/heads/master@{#11659}
2016-02-17 18:27:58 +00:00
Peter Boström
bad7804b99 Remove unused VideoSendStream TransportAdapter.
BUG=
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1702963002 .

Cr-Commit-Position: refs/heads/master@{#11654}
2016-02-17 14:43:02 +00:00
Peter Boström
67680c1bf9 Ignore padding-only RTX packets in test.
Makes DecodesRetransmittedFrame not flake/fail due to sent padding when
probing, which is correct behavior. Also removes hack that accepted this
only during the first n packets.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1698343003 .

Cr-Commit-Position: refs/heads/master@{#11648}
2016-02-17 10:10:14 +00:00
Stefan Holmer
d20327c7d7 Increase the allowed number of probe packets in test to please msan.
This started flaking due to allowing probes to restart if they were aborted due to insufficient packets. This is reasonable behavior.

TBR=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1701033002 .

Cr-Commit-Position: refs/heads/master@{#11638}
2016-02-16 16:43:37 +00:00
Peter Boström
1794b2675f Extract ViESyncModule outside ViEChannel.
Moves functionality outside ViEChannel and away from the sender.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1698183002 .

Cr-Commit-Position: refs/heads/master@{#11633}
2016-02-16 13:12:11 +00:00
Peter Boström
b1ae3a45d0 Stop decoders in VideoReceiveStream destructor.
Prevents use-after-free from decoder threads since the VCM outlives
ViEChannel.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1699893002 .

Cr-Commit-Position: refs/heads/master@{#11628}
2016-02-15 16:52:50 +00:00
Peter Boström
395939781b Reland of Don't send FEC for H.264 with NACK enabled. (patchset #1 id:1 of https://codereview.webrtc.org/1692783005/ )
Reason for revert:
Disabling tests on memcheck that time out due to using real VP8 encoders.

Original issue's description:
> Revert of Don't send FEC for H.264 with NACK enabled. (patchset #5 id:80001 of https://codereview.webrtc.org/1687303002/ )
>
> Reason for revert:
> Broke the VerifyHistogramStatsWithRed test on the Windows DrMemory Full bot and Linux Memcheck bot. Please fix the test and reland.
>
> Original issue's description:
> > Don't send FEC for H.264 with NACK enabled.
> >
> > The H.264 does not contain picture IDs and are not sufficient to
> > determine that a packet may be skipped. This causes retransmission
> > requests for FEC that are currently dropped by the sender (since they
> > should be redundant).
> >
> > The receiver is then unable to continue without having the packet gap
> > filled (unlike VP8/VP9 which moves on since it has a consecutive stream
> > of picture IDs).
> >
> > Even if FEC retransmission did work it's a huge waste of bandwidth,
> > since it just adds additional overhead that has to be unconditionally
> > transmitted. This bandwidth is better used to send higher-quality
> > frames.
> >
> > BUG=webrtc:5264
> > R=stefan@webrtc.org
> >
> > Committed: https://crrev.com/25558ad819b4df41ba51537e26a77480ace1e525
> > Cr-Commit-Position: refs/heads/master@{#11601}
>
> TBR=stefan@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5264
>
> Committed: https://crrev.com/29ffdc1a15e31bd81e806ff135c2100d811714f0
> Cr-Commit-Position: refs/heads/master@{#11607}

TBR=stefan@webrtc.org,deadbeef@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5264

Review URL: https://codereview.webrtc.org/1697093002 .

Cr-Commit-Position: refs/heads/master@{#11621}
2016-02-15 10:27:22 +00:00
asapersson
88b0a2292a Add VP9 to full stack tests.
BUG=

Review URL: https://codereview.webrtc.org/1691953004

Cr-Commit-Position: refs/heads/master@{#11608}
2016-02-12 21:16:51 +00:00
deadbeef
29ffdc1a15 Revert of Don't send FEC for H.264 with NACK enabled. (patchset #5 id:80001 of https://codereview.webrtc.org/1687303002/ )
Reason for revert:
Broke the VerifyHistogramStatsWithRed test on the Windows DrMemory Full bot and Linux Memcheck bot. Please fix the test and reland.

Original issue's description:
> Don't send FEC for H.264 with NACK enabled.
>
> The H.264 does not contain picture IDs and are not sufficient to
> determine that a packet may be skipped. This causes retransmission
> requests for FEC that are currently dropped by the sender (since they
> should be redundant).
>
> The receiver is then unable to continue without having the packet gap
> filled (unlike VP8/VP9 which moves on since it has a consecutive stream
> of picture IDs).
>
> Even if FEC retransmission did work it's a huge waste of bandwidth,
> since it just adds additional overhead that has to be unconditionally
> transmitted. This bandwidth is better used to send higher-quality
> frames.
>
> BUG=webrtc:5264
> R=stefan@webrtc.org
>
> Committed: https://crrev.com/25558ad819b4df41ba51537e26a77480ace1e525
> Cr-Commit-Position: refs/heads/master@{#11601}

TBR=stefan@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5264

Review URL: https://codereview.webrtc.org/1692783005

Cr-Commit-Position: refs/heads/master@{#11607}
2016-02-12 20:00:47 +00:00
Peter Boström
579e832a51 Fix race on VCM protection callback.
Removes protection-callback removal and makes ViEChannel outlive
ViEEncoder to not have races between BitrateAllocator and
VideoSendStream destruction.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1696693002 .

Cr-Commit-Position: refs/heads/master@{#11604}
2016-02-12 15:30:10 +00:00
Peter Boström
c90e9b64d5 Remove no-op VideoDecoder::Reset implementation.
No longer used in Chromium and should be removable now.

BUG=webrtc:5475
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1692543005 .

Cr-Commit-Position: refs/heads/master@{#11602}
2016-02-12 14:16:31 +00:00
Peter Boström
25558ad819 Don't send FEC for H.264 with NACK enabled.
The H.264 does not contain picture IDs and are not sufficient to
determine that a packet may be skipped. This causes retransmission
requests for FEC that are currently dropped by the sender (since they
should be redundant).

The receiver is then unable to continue without having the packet gap
filled (unlike VP8/VP9 which moves on since it has a consecutive stream
of picture IDs).

Even if FEC retransmission did work it's a huge waste of bandwidth,
since it just adds additional overhead that has to be unconditionally
transmitted. This bandwidth is better used to send higher-quality
frames.

BUG=webrtc:5264
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1687303002 .

Cr-Commit-Position: refs/heads/master@{#11601}
2016-02-12 14:08:39 +00:00
Peter Boström
404686a337 Use std::vector in the PayloadRouter interface.
Prevents copying a vector to a list that gets copied back to a vector,
which makes calling code a bit easier.

BUG=webrtc:5494
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1686323003 .

Cr-Commit-Position: refs/heads/master@{#11589}
2016-02-11 22:37:36 +00:00