But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.
BUG=webrtc:5520
Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.
NOPRESUBMIT=True
BUG=webrtc:3970
Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
Reason for revert:
Chrome has been updated, cl https://codereview.chromium.org/1919283005/
Original issue's description:
> Revert of Delete cricket::VideoFrame methods GetYPlane and GetYPitch. (patchset #5 id:80001 of https://codereview.webrtc.org/1901973002/ )
>
> Reason for revert:
> GetYPlane, GetYPitch etc is used by Chromium.
>
> Original issue's description:
> > Delete cricket::VideoFrame methods GetYPlane and GetYPitch.
> >
> > (And similarly for U and V). Also change video_frame_buffer method to
> > return a const ref to a scoped_ref_ptr.
> >
> > This cl is analogous to https://codereview.webrtc.org/1900673002/,
> > which delete corresponding methods in webrtc::VideoFrame.
> >
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/1c27c6bf4cf0476dd2f09425509afaae4cdfe599
> > Cr-Commit-Position: refs/heads/master@{#12492}
>
> TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@webrtc.org,pthatcher@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:5682
>
> Committed: https://crrev.com/b05f994bb6f3055c852891c8acb531aee916a668
> Cr-Commit-Position: refs/heads/master@{#12494}
TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,terelius@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/1923903002
Cr-Commit-Position: refs/heads/master@{#12559}
Reason for revert:
Breaks chrome FYI bots.
Original issue's description:
> Delete webrtc::VideoFrame methods buffer and stride.
>
> To make the HasOneRef/IsMutable hack work, also had to change the
> video_frame_buffer method to return a const ref to a scoped_ref_ptr,
> to not imply an AddRef.
>
> BUG=webrtc:5682
TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/1935443002
Cr-Commit-Position: refs/heads/master@{#12558}
To make the HasOneRef/IsMutable hack work, also had to change the
video_frame_buffer method to return a const ref to a scoped_ref_ptr,
to not imply an AddRef.
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/1900673002
Cr-Commit-Position: refs/heads/master@{#12557}
VoENetwork is kept for now, but is not really used anylonger.
webrtcvoiceengine is changed to have the same behavior for unsignaled
ssrc as video has, which is reflected by disabling one test case and
this will be discussed and followed up.
BUG=webrtc:5079
TBR=tommi
Review-Url: https://codereview.webrtc.org/1909333002
Cr-Commit-Position: refs/heads/master@{#12555}
The voice engine expects send bitrates no more than the maximum for the
codec. For example, 510kbps for opus. So if "b=AS" sets a maximum above
the codec maximum, WebRtcVoiceEngine needs to cap it.
BUG=603690
Review-Url: https://codereview.webrtc.org/1920123002
Cr-Commit-Position: refs/heads/master@{#12537}
This fixes a problem where "b=AS" and "x-google-start-bitrate" can't
be used together. It also starts taking the minimum of "b=AS" and
"x-google-max-bitrate", instead of just letting "b=AS" win.
BUG=webrtc:5811
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1904063003 .
Cr-Commit-Position: refs/heads/master@{#12519}
Any file that uses the RTC_DISALLOW_* macros should #include
"webrtc/base/constructormagic.h", but a shocking number of them don't.
This causes trouble when we try to wean files off of #including
scoped_ptr.h, since a bunch of files get their constructormagic macros
only from there.
Rather than fixing these errors one by one as they turn up, this CL
simply ensures that every file in the WebRTC tree that uses the
RTC_DISALLOW_* macros #includes "webrtc/base/constructormagic.h".
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1917043005
Cr-Commit-Position: refs/heads/master@{#12509}
Reason for revert:
GetYPlane, GetYPitch etc is used by Chromium.
Original issue's description:
> Delete cricket::VideoFrame methods GetYPlane and GetYPitch.
>
> (And similarly for U and V). Also change video_frame_buffer method to
> return a const ref to a scoped_ref_ptr.
>
> This cl is analogous to https://codereview.webrtc.org/1900673002/,
> which delete corresponding methods in webrtc::VideoFrame.
>
> BUG=webrtc:5682
>
> Committed: https://crrev.com/1c27c6bf4cf0476dd2f09425509afaae4cdfe599
> Cr-Commit-Position: refs/heads/master@{#12492}
TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@webrtc.org,pthatcher@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:5682
Review URL: https://codereview.webrtc.org/1921493004
Cr-Commit-Position: refs/heads/master@{#12494}
(And similarly for U and V). Also change video_frame_buffer method to
return a const ref to a scoped_ref_ptr.
This cl is analogous to https://codereview.webrtc.org/1900673002/,
which delete corresponding methods in webrtc::VideoFrame.
BUG=webrtc:5682
Review URL: https://codereview.webrtc.org/1901973002
Cr-Commit-Position: refs/heads/master@{#12492}
Whether two streams get 300k or 150k as initial bitrate is flaky, since
InitEncode may happen asynchronously either before or after two streams
have shared the 300k, meaning that the first sender either thinks it
should start at 300k or at 150k.
This should ideally be fixed by reconfiguring encoders to use QVGA if a
lower estimate arrives before the first frame is encoded, but right now
that would require reconfigure logic in all VideoEncoder wrappers, which
is also less than ideal. It would be good to revisit this once
QualityScaler moves outside the VideoEncoder implementations (into
GenericEncoder).
BUG=webrtc:5678
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1902413002 .
Cr-Commit-Position: refs/heads/master@{#12448}
Reason for revert:
RTCVideoEncoder has been updated to not make assumptions on calling threads/post back to a worker thread. This should now be landable again.
Original issue's description:
> Revert of Initialize/configure video encoders asychronously. (patchset #4 id:60001 of https://codereview.webrtc.org/1757313002/ )
>
> Reason for revert:
> Breaks RTCVideoEncoder which has incorrect assumptions on where InitEncode etc. is called from. Temporarily reverting until RTCVideoEncoder has been updated.
>
> Original issue's description:
> > Initialize/configure video encoders asychronously.
> >
> > Greatly speeds up setRemoteDescription() by moving encoder initialization
> > off the main worker thread, which is free to move onto gathering ICE
> > candidates and other tasks while InitEncode() is performed. It also
> > un-blocks PeerConnection GetStats() which is no longer blocked on
> > encoder initialization.
> >
> > BUG=webrtc:5410
> > R=stefan@webrtc.org
> >
> > Committed: fb647a67be
>
> R=stefan@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:595274, chromium:595308, webrtc:5410
>
> Committed: https://crrev.com/81cbd924447d507559dbd6e6d1f9fe439fcf2716
> Cr-Commit-Position: refs/heads/master@{#12086}
TBR=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:595274, chromium:595308, webrtc:5410
Review URL: https://codereview.webrtc.org/1896413002
Cr-Commit-Position: refs/heads/master@{#12446}
Eliminate most uses of the old methods.
To continue on this path, once we agree the new methods make sense,
the next step is to rename cricket::VideoFrame::GetVideoFrameBuffer
--> video_frame_buffer, to match the name in webrtc::VideoFrame (if we
think that name is ok?). And then start updating all code to access
planes via the VideoFrameBuffer, and delete corresponding methods in
both cricket::VideoFrame and webrtc::VideoFrame.
BUG=webrtc:5682
Review URL: https://codereview.webrtc.org/1878623002
Cr-Commit-Position: refs/heads/master@{#12407}
Reason for revert:
This is breaking all FYI bots.
The new virtual method is not implemented on the Chromium side yet.
Original issue's description:
> Introduce an IsMutable method on VideoFrameBuffer.
>
> Unlike HasOneRef, it can be overridden to always return false in
> immutable subclasses.
>
> I'm also investigating overiding it in PooledI420Buffer, to directly
> inherit I420Buffer but ignore the reference from the pool. Still
> unclear if that will work out.
>
> BUG=webrtc:5682
>
> Committed: https://crrev.com/6bd10f2c1ac912cbe5addd880e559d59274c60e6
> Cr-Commit-Position: refs/heads/master@{#12365}
TBR=magjed@webrtc.org,perkj@webrtc.org,pbos@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:5682
Review URL: https://codereview.webrtc.org/1885943004
Cr-Commit-Position: refs/heads/master@{#12366}
Unlike HasOneRef, it can be overridden to always return false in
immutable subclasses.
I'm also investigating overiding it in PooledI420Buffer, to directly
inherit I420Buffer but ignore the reference from the pool. Still
unclear if that will work out.
BUG=webrtc:5682
Review URL: https://codereview.webrtc.org/1881933004
Cr-Commit-Position: refs/heads/master@{#12365}
This field only existed as an implementation detail for getting the
codecs sorted, so it doesn't need to be in the public interface.
It cluttered the code and undesirably affected codec comparisons,
causing the video encoder to be reconfigured if a codec's preference
changed but nothing else did.
BUG=webrtc:5690
Review URL: https://codereview.webrtc.org/1845673002
Cr-Commit-Position: refs/heads/master@{#12349}
This CL generates FMTP parameters that allow H.264 interoperation
with Firefox for the default codec list.
BUG=chromium:591971
Review URL: https://codereview.webrtc.org/1880963002
Cr-Commit-Position: refs/heads/master@{#12333}
This change builds on top of the refactoring in https://codereview.webrtc.org/1841083008/, and enables WebRTC client applications to control the max send bitrate for every audio stream through RtpParameters.
The AudioSendStream now stores the last codec spec, and whenever a global or per-stream bitrate limit changes, the effective limit (smaller of the two) is recomputed and the codec is reconfigured with that bitrate.
TBR=pthatcher
BUG=
Review URL: https://codereview.webrtc.org/1847353004
Cr-Commit-Position: refs/heads/master@{#12290}
Unit tests are updated to test that screen share is not adapted but it does not change the VideoSinkWants in WebRtcVideoEngine2::SendStream due to a switch to screen share. The reason is that it works anyway and sprang is looking into how to do adaptation based on frame rate as well and use the adapter for screen share as well.
BUG=webrtc:5688, webrtc:5426
R=nisse@webrtc.org, pbos@webrtc.org, sprang@google.com
Review URL: https://codereview.webrtc.org/1836043004 .
Cr-Commit-Position: refs/heads/master@{#12240}
- Remove WVoE::SetAudioDeviceModule() - the ADM is now supplied in ctor.
- Remove WVoE::Init() and WVoE::Terminate().
- Remove MediaEngineInterface::Terminate().
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1830213002
Cr-Commit-Position: refs/heads/master@{#12173}