Commit Graph

94 Commits

Author SHA1 Message Date
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
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
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
b05f994bb6 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

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

Cr-Commit-Position: refs/heads/master@{#12494}
2016-04-25 18:41:55 +00:00
1c27c6bf4c 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

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

Cr-Commit-Position: refs/heads/master@{#12492}
2016-04-25 16:45:38 +00:00
0cd086b70e Adding codecs to the RtpParameters returned by an RtpSender.
Contains every field except for sdpFmtpLine.
Setting a reordered list of codecs is not yet supported.

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

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

Cr-Commit-Position: refs/heads/master@{#12453}
2016-04-20 23:23:22 +00:00
d1f584bb06 Fix flake in TwoStreamsSendAndReceive.
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}
2016-04-20 14:32:01 +00:00
9b2119be47 Reland of Use initial bitrates for software VP8. (patchset #1 id:1 of https://codereview.webrtc.org/1898183002/ )
Reason for revert:
Chromium test updated to handle this change.

Original issue's description:
> Revert of Use initial bitrates for software VP8. (patchset #3 id:40001 of https://codereview.webrtc.org/1893313002/ )
>
> Reason for revert:
> Likely broke Chromium:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Tester/builds/26838
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/2224
>
> Original issue's description:
> > Use initial bitrates for software VP8.
> >
> > Makes the software encoder start at VGA as well, since ~300k isn't good
> > enough to produce a good HD stream.
> >
> > BUG=webrtc:5678
> > R=glaznev@webrtc.org, stefan@webrtc.org
> >
> > Committed: https://crrev.com/e1da27e543bdb1983638118172a4efd599ca51b5
> > Cr-Commit-Position: refs/heads/master@{#12428}
>
> TBR=stefan@webrtc.org,glaznev@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:5678
>
> Committed: https://crrev.com/5aa2d344d7e0b8940794d3c4422f81ac81249022
> Cr-Commit-Position: refs/heads/master@{#12430}

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

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

Cr-Commit-Position: refs/heads/master@{#12447}
2016-04-20 13:37:44 +00:00
0e533ef487 Update the call when the network route changes
so that BWE can be updated promptly.

BUG=webrtc:5726
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12432}
2016-04-19 22:41:53 +00:00
5aa2d344d7 Revert of Use initial bitrates for software VP8. (patchset #3 id:40001 of https://codereview.webrtc.org/1893313002/ )
Reason for revert:
Likely broke Chromium:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Tester/builds/26838
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/2224

Original issue's description:
> Use initial bitrates for software VP8.
>
> Makes the software encoder start at VGA as well, since ~300k isn't good
> enough to produce a good HD stream.
>
> BUG=webrtc:5678
> R=glaznev@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/e1da27e543bdb1983638118172a4efd599ca51b5
> Cr-Commit-Position: refs/heads/master@{#12428}

TBR=stefan@webrtc.org,glaznev@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:5678

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

Cr-Commit-Position: refs/heads/master@{#12430}
2016-04-19 15:18:50 +00:00
e1da27e543 Use initial bitrates for software VP8.
Makes the software encoder start at VGA as well, since ~300k isn't good
enough to produce a good HD stream.

BUG=webrtc:5678
R=glaznev@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12428}
2016-04-19 13:53:22 +00:00
cc74dbac4f Remove unused cricket::AudioFrame class.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12379}
2016-04-15 13:41:17 +00:00
b17712ff89 Use microsecond timestamp in cricket::VideoFrame.
BUG=webrtc:5740

Committed: https://crrev.com/f30ba114bb33dd1d8643bc640dda2e0c86dbbd32
Cr-Commit-Position: refs/heads/master@{#12348}

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

Cr-Commit-Position: refs/heads/master@{#12358}
2016-04-14 09:29:35 +00:00
09eabcb4fb Revert of Use microsecond timestamp in cricket::VideoFrame. (patchset #13 id:240001 of https://codereview.webrtc.org/1865283002/ )
Reason for revert:
This CL breaks Chrome FYI bots compile: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/4942/steps/compile/logs/stdio

Original issue's description:
> Use microsecond timestamp in cricket::VideoFrame.
>
> BUG=webrtc:5740
>
> Committed: https://crrev.com/f30ba114bb33dd1d8643bc640dda2e0c86dbbd32
> Cr-Commit-Position: refs/heads/master@{#12348}

TBR=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:5740

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

Cr-Commit-Position: refs/heads/master@{#12350}
2016-04-13 17:45:51 +00:00
67cf2c1294 Removing preference field from cricket::Codec.
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}
2016-04-13 17:07:24 +00:00
f30ba114bb Use microsecond timestamp in cricket::VideoFrame.
BUG=webrtc:5740

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

Cr-Commit-Position: refs/heads/master@{#12348}
2016-04-13 16:37:00 +00:00
f386876354 Rename some cricket::VideoFrame methods, to align with webrtc::VideoFrame.
GetVideoFrameBuffer --> video_frame_buffer
GetVideoRotation --> rotation
SetRotation --> set_rotation

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12342}
2016-04-13 10:29:20 +00:00
hta
a6b99448ee Generate FMTP parameters for the H.264 codec.
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}
2016-04-12 17:29:20 +00:00
2ded9b19d1 Replace SetCapturer and SetCaptureDevice by SetSource.
Drop return value.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12291}
2016-04-08 09:24:01 +00:00
e0d4637bea Allow applications to control audio send bitrate through RtpParameters.
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}
2016-04-08 05:59:32 +00:00
03bd4008b6 Move InitToBlack and Reset methods from cricket::VideoFrame to its subclass cricket::WebRtcVideoFrame.
BUG=webrtc:5682
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12260}
2016-04-06 11:07:18 +00:00
Per
766ad3b989 This cl do a major cleanup of the VideoAdapter and make sure it does care about the VideoSinkWants.max_pixel_count and VideoSinkWants.max_pixel_count_step_up.
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}
2016-04-05 13:23:58 +00:00
119760aa65 Don't reconfigure the encoder if the video options aren't changing.
Review URL: https://codereview.webrtc.org/1840043005

Cr-Commit-Position: refs/heads/master@{#12222}
2016-04-04 18:43:33 +00:00
71a0c2f9a6 Deprecate GetWidth() and GetHeight() methods. Replaced by width() and height().
Delete GetChromaWidth, GetChromaHeight, and GetChromaSize.

Delete unused function VideoFrameEqual.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12213}
2016-04-04 07:57:37 +00:00
fcc640f8f6 Get VideoCapturer stats via VideoTrackSourceInterface in StatsCollector,
without involving the VideoMediaChannel.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12193}
2016-04-01 08:10:50 +00:00
60083c86fa Delete unused cricket::VideoFrame methods MakeExclusive and CopyToFrame.
BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12188}
2016-04-01 06:32:48 +00:00
ff97631e3c - Add temporary VoEBase::audio_device_module() method.
- 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}
2016-03-31 06:28:56 +00:00
f1f87203d7 Split ByteBuffer into writer/reader objects.
This allows the reader to reference data, thus avoiding unnecessary
allocations and memory copies.

BUG=webrtc:5155,webrtc:5670

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

Cr-Commit-Position: refs/heads/master@{#12160}
2016-03-30 13:43:44 +00:00
cc411c0599 Reset the BWE when the network changes.
Currently "Resetting the BWE" does nothing yet. This CL passes the correct signaling to the bandwidth estimator.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12154}
2016-03-30 00:27:36 +00:00
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
4a3a135e68 More cleanup of cricket::VideoCapturer
Remove unused state CS_PAUSED and dummy implementation of Pause()
Remove unused SignalVideoFrame

This should now be possible since https://codereview.chromium.org/1745923002/ has landed.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12116}
2016-03-24 11:39:56 +00:00
a4f07887c7 Delete default_send_ssrc_.
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12112}
2016-03-24 08:02:55 +00:00
7ade7b3282 Delete class webrtc::VideoRenderer and its header file.
To replace the SmoothsRenderedFrames method, added a corresponding
flag to VideoReceiveStream::Config instead.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12102}
2016-03-23 11:48:17 +00:00
1509fa1aa9 Delete cricket::VideoRenderer.
TBR=glaznev@webrtc.org (deleting an #include in main_wnd.h)
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12101}
2016-03-23 11:06:05 +00:00
9e083d2ac5 Reland of Delete empty API files and cleaned up includes. (patchset #1 id:1 of https://codereview.webrtc.org/1813083002/ )
Reason for revert:
New attempt. Cl for removing videosourceinterface.h dep in chrome is landed here: https://codereview.chromium.org/1810273003/

Original issue's description:
> Revert of Delete empty API files and cleaned up includes. (patchset #2 id:20001 of https://codereview.webrtc.org/1809053002/ )
>
> Reason for revert:
> Breaks Chromium build. Need to remove the references to the obsolete header files from Chromium and reland.
>
> Original issue's description:
> > Delete empty API files and cleaned up includes.
> >
> > TBR=glaznev@webrtc.org
> >
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/c9022f508644dc33c01b05cb22ebfc2be145d6b2
> > Cr-Commit-Position: refs/heads/master@{#12039}
>
> TBR=nisse@webrtc.org,glaznev@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/246b5273986d5a5b140b3d1a656baa8d40c36276
> Cr-Commit-Position: refs/heads/master@{#12042}

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

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

Cr-Commit-Position: refs/heads/master@{#12065}
2016-03-20 16:38:44 +00:00
caafdba0e4 Fix broken CVO header extension
Adds end to end unit tests for CVO.

BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#12063}
2016-03-20 14:34:37 +00:00
eec21bdae3 Reland Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12062}
2016-03-20 13:15:48 +00:00
194e3bcc53 Revert of Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies. (patchset #4 id:60001 of https://codereview.webrtc.org/1785713005/ )
Reason for revert:
I'm really sorry for having to revert this but it seems this hit an unexpected compile error downstream:

webrtc/media/sctp/sctpdataengine.cc: In function 'void cricket::VerboseLogPacket(const void*, size_t, int)':
webrtc/media/sctp/sctpdataengine.cc:172:37: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
              data, length, direction)) != NULL) {
                                     ^
In file included from webrtc/media/sctp/sctpdataengine.cc:20:0:
third_party/usrsctp/usrsctplib/usrsctp.h:964:1: error:   initializing argument 1 of 'char* usrsctp_dumppacket(void*, size_t, int)' [-fpermissive]
 usrsctp_dumppacket(void *, size_t, int);
 ^

I'm sure you can fix this easily and just re-land this CL, while I'm going to look into how to add this warning at the public bots (on Monday).

Original issue's description:
> Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
>
> This CL removes copy and assign support from Buffer and changes various
> parameters from Buffer to CopyOnWriteBuffer so they can be passed along
> and copied without actually copying the underlying data.
>
> With this changed some parameters to be "const" and fixed an issue when
> creating a CopyOnWriteBuffer with empty data.
>
> BUG=webrtc:5155
>
> Committed: https://crrev.com/944c39006f1c52aee20919676002dac7a42b1c05
> Cr-Commit-Position: refs/heads/master@{#12058}

TBR=kwiberg@webrtc.org,tkchin@webrtc.org,tommi@webrtc.org,pthatcher@webrtc.org,jbauch@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12060}
2016-03-19 19:12:58 +00:00
944c39006f Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12058}
2016-03-19 08:57:40 +00:00
5f0b83b7fb Enabling rtcp-rsize negotiation and fixing some issues with it.
Sending of reduced size RTCP packets should be enabled only if it's
enabled in the send parameters (which corresponds to the remote description).

Since the RTCPReceiver's RtcpMode isn't used at all, I removed it to ease
confusion.

BUG=webrtc:4868
R=pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12057}
2016-03-18 22:02:13 +00:00
f5629ad44f Reland of Change VideoCapture_apply_rotation default to false (patchset #1 id:1 of https://codereview.webrtc.org/1807673008/ )
Reason for revert:
Relanding because this doesn't actually break the bot. The issue the caused the test to crash on the bot should be fixed by: https://codereview.webrtc.org/1815733002/

Original issue's description:
> Revert of Change VideoCapture_apply_rotation default to false (patchset #4 id:80001 of https://codereview.webrtc.org/1779883004/ )
>
> Reason for revert:
> Seems to break on linux ubsan
>
> https://build.chromium.org/p/client.webrtc/builders/Linux%20UBSan/builds/247
>
> Original issue's description:
> > Change VideoCapture_apply_rotation default to false
> >
> > BUG=webrtc:5621
> > R=pthatcher@webrtc.org
> >
> > Committed: https://crrev.com/6919457319b0088ed8b68db30f68a03966d67121
> > Cr-Commit-Position: refs/heads/master@{#12052}
>
> TBR=pthatcher@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5621
>
> Committed: https://crrev.com/223b982785573323aa399de4f2e551cadbaace8d
> Cr-Commit-Position: refs/heads/master@{#12053}

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

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

Cr-Commit-Position: refs/heads/master@{#12054}
2016-03-18 18:38:33 +00:00
223b982785 Revert of Change VideoCapture_apply_rotation default to false (patchset #4 id:80001 of https://codereview.webrtc.org/1779883004/ )
Reason for revert:
Seems to break on linux ubsan

https://build.chromium.org/p/client.webrtc/builders/Linux%20UBSan/builds/247

Original issue's description:
> Change VideoCapture_apply_rotation default to false
>
> BUG=webrtc:5621
> R=pthatcher@webrtc.org
>
> Committed: https://crrev.com/6919457319b0088ed8b68db30f68a03966d67121
> Cr-Commit-Position: refs/heads/master@{#12052}

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

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

Cr-Commit-Position: refs/heads/master@{#12053}
2016-03-18 17:06:36 +00:00
Per
6919457319 Change VideoCapture_apply_rotation default to false
BUG=webrtc:5621
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12052}
2016-03-18 15:56:56 +00:00
246b527398 Revert of Delete empty API files and cleaned up includes. (patchset #2 id:20001 of https://codereview.webrtc.org/1809053002/ )
Reason for revert:
Breaks Chromium build. Need to remove the references to the obsolete header files from Chromium and reland.

Original issue's description:
> Delete empty API files and cleaned up includes.
>
> TBR=glaznev@webrtc.org
>
> BUG=webrtc:5426
>
> Committed: https://crrev.com/c9022f508644dc33c01b05cb22ebfc2be145d6b2
> Cr-Commit-Position: refs/heads/master@{#12039}

TBR=nisse@webrtc.org,glaznev@webrtc.org,perkj@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/1813083002

Cr-Commit-Position: refs/heads/master@{#12042}
2016-03-17 22:03:46 +00:00
c9022f5086 Delete empty API files and cleaned up includes.
TBR=glaznev@webrtc.org

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12039}
2016-03-17 16:57:30 +00:00
505945aed7 Delete unused VideoCapturer statistics.
It appears that the adapt_frame_drops, effects_frame_drops, and capturer_frame_time statistics are never used. They are collected by cricket::VideoCapturer, and copied into VideoSenderInfo by the VideoMediaChannel::GetStats method.

So delete the code to generate the statistics, and the VariableInfo template which had no other uses.

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

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

Cr-Commit-Position: refs/heads/master@{#12032}
2016-03-17 11:20:50 +00:00