Commit Graph

446 Commits

Author SHA1 Message Date
164e978f98 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

Changes from previous attempt:
* Added libstunprober target
* Adjusted warnings for Chromium's clang plugins
* webrtc/pc/externalhmac.{h,cc} added for Chromium builds.

As soon this has landed a roll including the changes in
https://codereview.chromium.org/2022833002/ is needed to make
Chromium build cleanly.

BUG=webrtc:4256
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/1979933002
Cr-Commit-Position: refs/heads/master@{#12983}
2016-06-01 09:17:56 +00:00
a1c548b9b9 Add RtpHeaderExtension to avoid client breakage
This fixes a client breakage by adding back the RtpHeaderExtension temporarily
so that it can be fixed in the client before being removed in webrtc.

BUG=

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.chromium.win:win_chromium_rel_ng

Review-Url: https://codereview.webrtc.org/2024153002
Cr-Commit-Position: refs/heads/master@{#12977}
2016-05-31 23:12:32 +00:00
5f7cfa50e5 Moved CreateBuiltinDecoderFactory out to VoEBaseImpl.
VoEBase is plumbed to optionally take an AudioDecoderFactory, or create
a builtin factory if none is provided.

Retained the CreateChannel interfaces in Channel and ChannelManager
and added variants for injecting an AudioDecoderFactory. The
"old-style" variants call CreateBuiltinAudioDecoderFactory to get a
factory to use.

(Just realized this means each channel uses a separate factory with the
old-style calls. Probably ok.)

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/1993783002
Cr-Commit-Position: refs/heads/master@{#12961}
2016-05-30 15:11:36 +00:00
6f8d686d35 Remove use of RtpHeaderExtension and clean up
Currently there are two structs that are identical and track extension details:
webrtc::RtpExtension
cricket::RtpHeaderExtension

The use of the structs is mixed in the code to track the extensions being
supported. This results in duplicate definition of
the URI constants and there is code to convert between the two structs.

Clean up to use a single RtpHeader throughout the codebase. The actual location
of RtpHeader may change in future (perhaps to be located in api/). Additionally,
this CL renames some of the constants to clarify Uri and Id use.

BUG= webrtc:5895

Review-Url: https://codereview.webrtc.org/1984983002
Cr-Commit-Position: refs/heads/master@{#12924}
2016-05-26 18:25:04 +00:00
d591e3fcf3 Delete IsMutable and IsExclusive methods.
This affects the webrtc::VideoFrameBuffer and cricket::VideoFrame
classes.

To make this work, VideoFrameFactory is changed to use an
I420BufferPool rather than a plain VideoFrame to cache allocated
frames.

The I420BufferPool is reorganized to return an I420Buffer,
rather than a proxy object.

BUG=webrtc:5921, webrtc:5682

Review-Url: https://codereview.webrtc.org/2009193002
Cr-Commit-Position: refs/heads/master@{#12919}
2016-05-26 13:50:00 +00:00
47ac4620c8 Delete AndroidVideoCapturer::FrameFactory.
Splits VideoCapturer::OnFrameCaptured into helper methods,
which enables use of the VideoAdaptation logic without
using a frame factory.

Refactors AndroidVideoCapturer to make adaptation decision
earlier, so we can crop and rotate using
NV12ToI420Rotate.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1973873003
Cr-Commit-Position: refs/heads/master@{#12895}
2016-05-25 15:47:05 +00:00
3ede7be00a Remove xmllite and xmpp dependencies from media.gyp
BUG=

Review-Url: https://codereview.webrtc.org/2008593003
Cr-Commit-Position: refs/heads/master@{#12865}
2016-05-24 09:33:55 +00:00
c82d0902e1 Don't do a thread jump for incoming frames.
We're now supposed to accept incoming frames from any thread.

BUG=webrtc:5902

Review-Url: https://codereview.webrtc.org/1987663002
Cr-Commit-Position: refs/heads/master@{#12844}
2016-05-23 07:39:45 +00:00
04ebea3629 Delete obsolete cricket::VideoFrame methods.
GetWidth and GetHeight (renamed to width and height),

GetNativeHandle (replaced by video_frame_buffer()->native_handle).

TBR=tkchin@webrtc.org (trivial changes to objc RTCVideoFrame and VideoRendererAdapter)

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1990063005
Cr-Commit-Position: refs/heads/master@{#12822}
2016-05-20 08:48:53 +00:00
7d01331eca Only initialize usrsctp when it's used and uninitialize when it's not being used.
BUG=chromium:612366, webrtc:5909
R=deadbeef@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12816}
2016-05-19 17:58:54 +00:00
604abe09f1 VideoAdapter: Drop frames based on actual fps instead of expected fps
Pass timestamps to VideoAdapter instead of setting expected input frame rate, and use that to calculate when frames should be dropped.

BUG=webrtc:4938
TEST=Enable quality slider and HUD in debug settings. Request low fps with the quality slider and observe dropped frames.

Review-Url: https://codereview.webrtc.org/1982983003
Cr-Commit-Position: refs/heads/master@{#12811}
2016-05-19 13:05:49 +00:00
2b1f651d15 Potential fix for rtx/red issue where red is removed only from the remote description.
BUG=5675
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12776}
2016-05-17 14:33:41 +00:00
c9c142f170 Reland of Delete webrtc::VideoFrame methods buffer and stride. (patchset #1 id:1 of https://codereview.webrtc.org/1983583002/ )
Reason for revert:
Should work after cl https://codereview.webrtc.org/1985693002/ is landed, which initializes the frames used by FakeWebRtcVideoCaptureModule. So intend to reland after that, with no changes.

Original issue's description:
> Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #2 id:290001 of https://codereview.webrtc.org/1963413004/ )
>
> Reason for revert:
> Speculative revert to see if failures on the DrMemory bot are related to this cl.  See e.g. here:
> https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Full/builds/4243
>
> UNINITIALIZED READ: reading 0x04980040-0x04980060 32 byte(s) within 0x04980040-0x04980060
> # 0 CopyRow_AVX
> # 1 CopyPlane
> # 2 I420Copy
> # 3 webrtc::ExtractBuffer
> # 4 cricket::WebRtcVideoCapturer::SignalFrameCapturedOnStartThread
> # 5 cricket::WebRtcVideoCapturer::OnIncomingCapturedFrame
> # 6 FakeWebRtcVideoCaptureModule::SendFrame
> # 7 WebRtcVideoCapturerTest_TestCaptureVcm_Test::TestBody
> # 8 testing::internal::HandleSehExceptionsInMethodIfSupported<>
>
> Original issue's description:
> > Reland of Delete webrtc::VideoFrame methods buffer and stride. (patchset #1 id:1 of https://codereview.webrtc.org/1935443002/ )
> >
> > Reason for revert:
> > I plan to reland this change in a week or two, after downstream users are updated.
> >
> > Original issue's description:
> > > Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #14 id:250001 of https://codereview.webrtc.org/1900673002/ )
> > >
> > > 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
> > >
> > > Committed: https://crrev.com/5b3c443d301f2c2f18dac5b02652c08b91ea3828
> > > Cr-Commit-Position: refs/heads/master@{#12558}
> >
> > TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/d0dc66e0ea30c8614001e425a4ae0aa7dd56c2a7
> > Cr-Commit-Position: refs/heads/master@{#12721}
>
> TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@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/d49c30cd2fe442f2b5b4ecec8d5cbaa430464725
> Cr-Commit-Position: refs/heads/master@{#12745}

TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org,tommi@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1979193003
Cr-Commit-Position: refs/heads/master@{#12773}
2016-05-17 11:05:51 +00:00
744494f451 Make the FakeWebRtcVideoCaptureModule class initialize frame data.
Needed to avoid DrMemory warnings, if the frame is passed to libyuv
AVX assembly functions.

BUG=libyuv:377

Review-Url: https://codereview.webrtc.org/1985693002
Cr-Commit-Position: refs/heads/master@{#12765}
2016-05-17 06:51:11 +00:00
c9b0c26e0c Surface the IntelligibilityEnhancer on MediaConstraints
R=henrika@webrtc.org, peah@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12763}
2016-05-16 22:32:45 +00:00
db0cd9e774 Adding getParameters/setParameters APIs to RtpReceiver.
This is similar to how a "receive" method is used to apply
RtpParameters to an RtpReceiver in ORTC. Currently, SetParameters
doesn't allow changing the parameters, so the main use of the API is
to retrieve the set of configured codecs. But other uses will likely
be made possible in the future.

R=glaznev@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12761}
2016-05-16 18:40:38 +00:00
d49c30cd2f Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #2 id:290001 of https://codereview.webrtc.org/1963413004/ )
Reason for revert:
Speculative revert to see if failures on the DrMemory bot are related to this cl.  See e.g. here:
https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Full/builds/4243

UNINITIALIZED READ: reading 0x04980040-0x04980060 32 byte(s) within 0x04980040-0x04980060
# 0 CopyRow_AVX
# 1 CopyPlane
# 2 I420Copy
# 3 webrtc::ExtractBuffer
# 4 cricket::WebRtcVideoCapturer::SignalFrameCapturedOnStartThread
# 5 cricket::WebRtcVideoCapturer::OnIncomingCapturedFrame
# 6 FakeWebRtcVideoCaptureModule::SendFrame
# 7 WebRtcVideoCapturerTest_TestCaptureVcm_Test::TestBody
# 8 testing::internal::HandleSehExceptionsInMethodIfSupported<>

Original issue's description:
> Reland of Delete webrtc::VideoFrame methods buffer and stride. (patchset #1 id:1 of https://codereview.webrtc.org/1935443002/ )
>
> Reason for revert:
> I plan to reland this change in a week or two, after downstream users are updated.
>
> Original issue's description:
> > Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #14 id:250001 of https://codereview.webrtc.org/1900673002/ )
> >
> > 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
> >
> > Committed: https://crrev.com/5b3c443d301f2c2f18dac5b02652c08b91ea3828
> > Cr-Commit-Position: refs/heads/master@{#12558}
>
> TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/d0dc66e0ea30c8614001e425a4ae0aa7dd56c2a7
> Cr-Commit-Position: refs/heads/master@{#12721}

TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@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/1983583002
Cr-Commit-Position: refs/heads/master@{#12745}
2016-05-14 10:18:13 +00:00
1299615838 Make sure WebRTC works without libvpx VP9 support.
Wires up existing libvpx_build_vp9==0 GYP flag into WebRTC and makes VP9
optional. Change is GYP only for now since libvpx's GN files build VP9
unconditionally.

BUG=webrtc:5884
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12741}
2016-05-14 00:03:28 +00:00
fb1dd43ac1 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:20001 of https://codereview.webrtc.org/1973313002/ )
Reason for revert:
Breaks GN in Chromium (again), even though I tested this configuration: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/6000/steps/generate_build_files/logs/stdio

Original issue's description:
> Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
> TBR=perkj@webrtc.org
>
> Committed: https://crrev.com/c8d848b1049d8b9e8e33e023d13bec1180dd4926
> Cr-Commit-Position: refs/heads/master@{#12731}

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

Review-Url: https://codereview.webrtc.org/1975223002
Cr-Commit-Position: refs/heads/master@{#12733}
2016-05-13 17:28:59 +00:00
709f73c04e VideoAdapter: Add cropping based on OnOutputFormatRequest()
If OnOutputFormatRequest() is called, VideoAdapter will crop to the same
aspect ratio as the requested format. The output from
VideoAdapter.AdaptFrameResolution() now contains both how to crop the
input frame, and how to scale the cropped frame to the final adapted
resolution.

BUG=b/28622232

Review-Url: https://codereview.webrtc.org/1966273002
Cr-Commit-Position: refs/heads/master@{#12732}
2016-05-13 17:26:05 +00:00
c8d848b104 Reland of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

BUG=webrtc:4256
NOTRY=True
TBR=perkj@webrtc.org

Review-Url: https://codereview.webrtc.org/1973313002
Cr-Commit-Position: refs/heads/master@{#12731}
2016-05-13 17:24:55 +00:00
c1513ee1a3 Add a parameter to set a maximum file size when starting an RTC event log on the PeerConnectionFactory API.
The caller can set a negative or zero file size to avoid using a limit.
BUG=

Review-Url: https://codereview.webrtc.org/1974453002
Cr-Commit-Position: refs/heads/master@{#12730}
2016-05-13 15:30:44 +00:00
8744cf67a7 Revert of GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} (patchset #2 id:140001 of https://codereview.webrtc.org/1929633002/ )
Reason for revert:
Breaks GN in Chromium.

Original issue's description:
> GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
>
> Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
> preparation for removing src/third_party/libjingle in Chromium.
>
> BUG=webrtc:4256
> NOTRY=True
>
> Committed: https://crrev.com/4d02a358b4205bd0f7b5f794b6fb8c157e075b9e
> Cr-Commit-Position: refs/heads/master@{#12724}

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

Review-Url: https://codereview.webrtc.org/1977853002
Cr-Commit-Position: refs/heads/master@{#12726}
2016-05-13 13:26:46 +00:00
4d02a358b4 GN: Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc}
Add BUILD.gn files for webrtc/{api,media,libjingle,p2p,pc} in
preparation for removing src/third_party/libjingle in Chromium.

BUG=webrtc:4256
NOTRY=True

Review-Url: https://codereview.webrtc.org/1929633002
Cr-Commit-Position: refs/heads/master@{#12724}
2016-05-13 12:52:20 +00:00
d0dc66e0ea Reland of Delete webrtc::VideoFrame methods buffer and stride. (patchset #1 id:1 of https://codereview.webrtc.org/1935443002/ )
Reason for revert:
I plan to reland this change in a week or two, after downstream users are updated.

Original issue's description:
> Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #14 id:250001 of https://codereview.webrtc.org/1900673002/ )
>
> 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
>
> Committed: https://crrev.com/5b3c443d301f2c2f18dac5b02652c08b91ea3828
> Cr-Commit-Position: refs/heads/master@{#12558}

TBR=perkj@webrtc.org,magjed@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1963413004
Cr-Commit-Position: refs/heads/master@{#12721}
2016-05-13 11:12:48 +00:00
d8b0109327 Fix RTX-configuration test with >2 codecs built.
Fixes WebRtcVideoChannel2Test.DefaultReceiveStreamReconfiguresToUseRtx
under rtc_use_h264=1.

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

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

Cr-Commit-Position: refs/heads/master@{#12703}
2016-05-12 14:44:46 +00:00
3fe372dbee Fix all -Wnon-virtual-dtor warnings.
This is needed to get the GN build going for several parts
of the code tree.

BUG=webrtc:3307
NOTRY=True
R=henrika@webrtc.org, nisse@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12693}
2016-05-12 06:11:09 +00:00
33b01f2162 Adds network thread to rtc::BaseChannel
BaseChannel do calls to transport_channel on network_thread,
while keep calls to media_engine on worker_thread.
It still works when network_thread == worker_thread.

BUG=webrtc:5645
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12690}
2016-05-11 17:55:41 +00:00
b031a2e862 Allow WebRTC to offer receiving capability for 120ms Opus packets.
TEST=Build Chromium for receiving + a special AppRTCDemo built with 120ms Opus sending capability. Call went well.

BUG=
R=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12673}
2016-05-10 13:35:30 +00:00
ba6371ec86 Delete unused video capture support for cropping, non-square pixels, and ARGB screencast scaling.
First two are unused, because the instance variables ratio_w_,
ratio_h_, and square_pixel_aspect_ratio_, are never modified after
initialization to 0 and false.

ARGB is believed to be unused, and the scaling logic
is probably not appropriate in any case.

Also delete corresponding helper functions in
videocommon.cc.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/1934503002
Cr-Commit-Position: refs/heads/master@{#12659}
2016-05-09 07:47:59 +00:00
82d7862fe7 Change default timestamp to 64 bits in all webrtc directories.
BUG=
R=pbos@webrtc.org, pthatcher@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12646}
2016-05-06 18:29:27 +00:00
b56069e650 Enable NACK for audio even if there are no send streams.
BUG=webrtc:5762

Review-Url: https://codereview.webrtc.org/1950963003
Cr-Commit-Position: refs/heads/master@{#12641}
2016-05-06 11:57:11 +00:00
31fec40482 Set rtcp_send_transport for AudioReceiveStreams. This was forgotten in https://codereview.webrtc.org/1909333002/.
BUG=webrtc:4690, webrtc:5079, webrtc:5762

Review-Url: https://codereview.webrtc.org/1951833002
Cr-Commit-Position: refs/heads/master@{#12640}
2016-05-06 09:13:22 +00:00
55dd70842c Support RtpEncodingParameters::active in voice engine.
R=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12615}
2016-05-03 20:50:24 +00:00
1ba8d39a9c Remove webrtc/stream.h and unutilized inheritance.
Removes inheritance and a virtual call. Also removes a root header that
would have needed to be moved into a subdirectory otherwise to prevent
circular dependencies.

BUG=webrtc:4243
R=kjellander@webrtc.org, solenberg@webrtc.org
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/1924793002
Cr-Commit-Position: refs/heads/master@{#12586}
2016-05-02 03:18:36 +00:00
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
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}
2016-05-01 21:53:55 +00:00
05e61edd8f Remove usage of VoENetwork from VoEWrapper and FakeWebRtcVoiceEngine.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/1934513002
Cr-Commit-Position: refs/heads/master@{#12566}
2016-04-29 16:05:35 +00:00
a4ac4786a8 Define rtc::BufferT, like rtc::Buffer but for any trivial type
And redefine rtc::Buffer as

  using Buffer = BufferT<uint8_t>;

(In the long run, I'd like to remove the type alias and rename the
template to just rtc::Buffer, but that requires all current users of
Buffer to start saying Buffer<uint8_t> instead, and since Buffer is
used in the API, we can't do that in one step.)

The immediate reason for the new template is that we'd like to use
BufferT<int16_t> in the AudioDecoder interface.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1929903002
Cr-Commit-Position: refs/heads/master@{#12564}
2016-04-29 15:00:28 +00:00
ef8b61e110 Enable -Winconsistent-missing-override flag.
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}
2016-04-29 13:09:23 +00:00
0565451820 Reland of Delete cricket::VideoFrame methods GetYPlane and GetYPitch. (patchset #1 id:1 of https://codereview.webrtc.org/1921493004/ )
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}
2016-04-29 09:56:06 +00:00
5b3c443d30 Revert of Delete webrtc::VideoFrame methods buffer and stride. (patchset #14 id:250001 of https://codereview.webrtc.org/1900673002/ )
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}
2016-04-29 09:39:33 +00:00
a0591b5473 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

Review-Url: https://codereview.webrtc.org/1900673002
Cr-Commit-Position: refs/heads/master@{#12557}
2016-04-29 09:09:33 +00:00
b99395a544 Reland of Delete video_render module. (patchset #1 id:1 of https://codereview.webrtc.org/1923613003/ )
Reason for revert:
Chrome's build files have now been updated, see cl https://codereview.chromium.org/1929933002/

Original issue's description:
> Revert of Delete video_render module. (patchset #12 id:220001 of https://codereview.webrtc.org/1912143002/ )
>
> Reason for revert:
> This breaks every buildbot in chromium.webrtc.fyi and I don't see any roll in progress to address this (and I don't see how that would be possible either).
> Usage in Chrome: https://code.google.com/p/chromium/codesearch#search/&q=modules.gyp%3Avideo_render&sq=package:chromium&type=cs
>
> Example failures:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/5420
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/4526
>
> I think it's fine to delete our video_render_module_internal_impl target and those files, but video_render target needs to remain.
>
> Original issue's description:
> > Delete video_render module.
> >
> > BUG=webrtc:5817
> >
> > Committed: https://crrev.com/97cfd1ec05d07ef233356e57f7aa4b028b74ffba
> > Cr-Commit-Position: refs/heads/master@{#12526}
>
> TBR=mflodman@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:5817

TBR=mflodman@webrtc.org,pbos@webrtc.org,kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5817

Review-Url: https://codereview.webrtc.org/1929223003
Cr-Commit-Position: refs/heads/master@{#12556}
2016-04-29 07:58:48 +00:00
3d7db263b9 Switch voice transport to use Call and Stream instead of VoENetwork.
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}
2016-04-29 07:57:21 +00:00
8034614b81 Cap the send bitrate for opus and iSAC before passing down to VoE.
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}
2016-04-27 21:17:15 +00:00
0190367cea Revert of Delete video_render module. (patchset #12 id:220001 of https://codereview.webrtc.org/1912143002/ )
Reason for revert:
This breaks every buildbot in chromium.webrtc.fyi and I don't see any roll in progress to address this (and I don't see how that would be possible either).
Usage in Chrome: https://code.google.com/p/chromium/codesearch#search/&q=modules.gyp%3Avideo_render&sq=package:chromium&type=cs

Example failures:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/5420
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/4526

I think it's fine to delete our video_render_module_internal_impl target and those files, but video_render target needs to remain.

Original issue's description:
> Delete video_render module.
>
> BUG=webrtc:5817
>
> Committed: https://crrev.com/97cfd1ec05d07ef233356e57f7aa4b028b74ffba
> Cr-Commit-Position: refs/heads/master@{#12526}

TBR=mflodman@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:5817

Review-Url: https://codereview.webrtc.org/1923613003
Cr-Commit-Position: refs/heads/master@{#12534}
2016-04-27 15:56:56 +00:00
97cfd1ec05 Delete video_render module.
BUG=webrtc:5817

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

Cr-Commit-Position: refs/heads/master@{#12526}
2016-04-27 09:52:27 +00:00
06f7e49438 WebRtcVideoFrameFactoryTest shouldn't inherit VideoFrameTest.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12523}
2016-04-27 08:37:56 +00:00
58f2bd90f1 Fixing the interaction between codec bitrate limit and "b=AS".
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}
2016-04-27 00:15:35 +00:00
4485ffb58d #include "webrtc/base/constructormagic.h" where appropriate
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}
2016-04-26 15:14:48 +00:00