Commit Graph

98 Commits

Author SHA1 Message Date
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
224e65939a Reland of "VideoFrameBuffer: Remove deprecated functions"
This reverts commit f1e34832b84798d7665d2aad9a5b3f33cbe5a274.

Reason for reland: Chomium code has been updated.

Original change's description:
> Revert "VideoFrameBuffer: Remove deprecated functions"
> 
> This reverts commit 428c9e218538278e6b0db42d1b734431bb432e1a.
> 
> Reason for revert: Breaks Chromium WebRTC FYI on Mac Builder. http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/25788
> 
> Original change's description:
> > VideoFrameBuffer: Remove deprecated functions
> > 
> > Bug: webrtc:7632
> > Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
> > Reviewed-on: https://chromium-review.googlesource.com/535479
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18832}
> 
> TBR=magjed@webrtc.org,nisse@webrtc.org
> 
> Change-Id: I2e6617420746bba3e4637019d3bce03be12a4643
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7632
> Reviewed-on: https://chromium-review.googlesource.com/555550
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18834}

TBR=magjed@webrtc.org,nisse@webrtc.org

Change-Id: I41c7b31ab52ba162fd0a9ab03a4b45aecb97cb09
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7632
Reviewed-on: https://chromium-review.googlesource.com/558244
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18867}
2017-06-30 16:39:27 +00:00
f1e34832b8 Revert "VideoFrameBuffer: Remove deprecated functions"
This reverts commit 428c9e218538278e6b0db42d1b734431bb432e1a.

Reason for revert: Breaks Chromium WebRTC FYI on Mac Builder. http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/25788

Original change's description:
> VideoFrameBuffer: Remove deprecated functions
> 
> Bug: webrtc:7632
> Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
> Reviewed-on: https://chromium-review.googlesource.com/535479
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18832}

TBR=magjed@webrtc.org,nisse@webrtc.org

Change-Id: I2e6617420746bba3e4637019d3bce03be12a4643
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7632
Reviewed-on: https://chromium-review.googlesource.com/555550
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18834}
2017-06-29 13:39:35 +00:00
428c9e2185 VideoFrameBuffer: Remove deprecated functions
Bug: webrtc:7632
Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
Reviewed-on: https://chromium-review.googlesource.com/535479
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18832}
2017-06-29 12:50:13 +00:00
23cc468ddf Return WrappedI444Buffer in VP9Impl
This CL allows VP9Impl to return a WrappedI444Buffer if the image format is
VPX_IMG_FMT_I444.

Needs to be checked in after Chromium CL 2876363003 is checked in.

BUG=webrtc:7506

Review-Url: https://codereview.webrtc.org/2927943003
Cr-Commit-Position: refs/heads/master@{#18727}
2017-06-23 03:28:06 +00:00
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
7339712256 Removing backward compatible header
I have updated downstream projects and now it is safe to remove this
header.

BUG=webrtc:7647
NOTRY=True

Review-Url: https://codereview.webrtc.org/2935933002
Cr-Commit-Position: refs/heads/master@{#18561}
2017-06-13 11:25:37 +00:00
eaf4a1e103 Add separate base classes for I420 and I444 buffers
Previously, the base class PlanarYuvBuffer was used directly. Having
separate base classes will allow us to improve type safety in some
places.

BUG=webrtc:7632
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2914463002
Cr-Commit-Position: refs/heads/master@{#18317}
2017-05-30 08:21:59 +00:00
ea3a7987d2 Move webrtc/video_frame to common_video/include.
BUG=webrtc:7616

Review-Url: https://codereview.webrtc.org/2877703002
Cr-Commit-Position: refs/heads/master@{#18147}
2017-05-15 09:42:11 +00:00
712338eed2 Add support for I444 in VideoFrameBuffer
VideoFrameBuffer is currently hard coded to be either I420 or Native.
This CL makes VideoFrameBuffer more generic by moving the I420 specific
functions into their own class, and adds an enum tag that represents the
format and storage type of the buffer. Each buffer type is then
represented as a subclass. See webrtc/api/video/video_frame_buffer.h for
more info.

This CL also adds support for representing I444 in VideoFrameBuffer
using the new interface. Possible future buffer type candidates are
RGB and NV12.

BUG=webrtc:7632
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2847383002
Cr-Commit-Position: refs/heads/master@{#18098}
2017-05-11 12:11:57 +00:00
f93752a2ee Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2853383005/ )
Reason for revert:
Downstream projects have been fixed.

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
>
> Reason for revert:
> More downstream breakage discovered.
>
> Original issue's description:
> > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
> >
> > Reason for revert:
> > Will make another attempt to track down and fix downstream projects.
> >
> > Original issue's description:
> > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> > >
> > > Reason for revert:
> > > Unfortunately, more downstream updates needed.
> > >
> > > Original issue's description:
> > > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > > >
> > > > Reason for revert:
> > > > Downstream projects being updated.
> > > >
> > > > For Chrome, relanding depends on cl
> > > > https://codereview.chromium.org/2855783003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > > >
> > > > > Reason for revert:
> > > > > Broke Chrome build, see, e.g.,
> > > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > > >
> > > > > Original issue's description:
> > > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > > >
> > > > > > BUG=webrtc:5880
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > > Committed: 713a3bbcc7
> > > > >
> > > > > TBR=mflodman@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:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > > Committed: aec49d2b49
> > > >
> > > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2852303002
> > > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > > Committed: d71ebd70f6
> > >
> > > TBR=mflodman@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:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2854883002
> > > Cr-Commit-Position: refs/heads/master@{#17978}
> > > Committed: 6e6a485a02
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854873003
> > Cr-Commit-Position: refs/heads/master@{#18006}
> > Committed: 3870a071c4
>
> TBR=mflodman@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:5880
>
> Review-Url: https://codereview.webrtc.org/2853383005
> Cr-Commit-Position: refs/heads/master@{#18008}
> Committed: 61b22dde13

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

Review-Url: https://codereview.webrtc.org/2867703002
Cr-Commit-Position: refs/heads/master@{#18081}
2017-05-10 12:25:59 +00:00
173658968e Reland of Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/ (patchset #1 id:1 of https://codereview.webrtc.org/2862663003/ )
Reason for revert:
Keep header file for backwards compatibility

Original issue's description:
> Revert of Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/ (patchset #2 id:60001 of https://codereview.webrtc.org/2851563003/ )
>
> Reason for revert:
> Breaks downstream targets.
>
> Original issue's description:
> > Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
> >
> > CoreVideoFrameBuffer is Mac/iPhone specific and should be moved into
> > the webrtc/sdk/objc/ folder.
> >
> > BUG=None
> >
> > Review-Url: https://codereview.webrtc.org/2851563003
> > Cr-Commit-Position: refs/heads/master@{#17998}
> > Committed: d41631aa27
>
> TBR=kthelgason@webrtc.org,magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2862663003
> Cr-Commit-Position: refs/heads/master@{#18004}
> Committed: c34e730896

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

Review-Url: https://codereview.webrtc.org/2860033002
Cr-Commit-Position: refs/heads/master@{#18011}
2017-05-04 10:41:33 +00:00
61b22dde13 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
Reason for revert:
More downstream breakage discovered.

Original issue's description:
> Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
>
> Reason for revert:
> Will make another attempt to track down and fix downstream projects.
>
> Original issue's description:
> > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> >
> > Reason for revert:
> > Unfortunately, more downstream updates needed.
> >
> > Original issue's description:
> > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > >
> > > Reason for revert:
> > > Downstream projects being updated.
> > >
> > > For Chrome, relanding depends on cl
> > > https://codereview.chromium.org/2855783003/
> > >
> > > Original issue's description:
> > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > >
> > > > Reason for revert:
> > > > Broke Chrome build, see, e.g.,
> > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > >
> > > > Original issue's description:
> > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > >
> > > > > BUG=webrtc:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > Committed: 713a3bbcc7
> > > >
> > > > TBR=mflodman@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:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > Committed: aec49d2b49
> > >
> > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2852303002
> > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > Committed: d71ebd70f6
> >
> > TBR=mflodman@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:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854883002
> > Cr-Commit-Position: refs/heads/master@{#17978}
> > Committed: 6e6a485a02
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2854873003
> Cr-Commit-Position: refs/heads/master@{#18006}
> Committed: 3870a071c4

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

Review-Url: https://codereview.webrtc.org/2853383005
Cr-Commit-Position: refs/heads/master@{#18008}
2017-05-04 09:11:12 +00:00
3870a071c4 Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
Reason for revert:
Will make another attempt to track down and fix downstream projects.

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
>
> Reason for revert:
> Unfortunately, more downstream updates needed.
>
> Original issue's description:
> > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> >
> > Reason for revert:
> > Downstream projects being updated.
> >
> > For Chrome, relanding depends on cl
> > https://codereview.chromium.org/2855783003/
> >
> > Original issue's description:
> > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > >
> > > Reason for revert:
> > > Broke Chrome build, see, e.g.,
> > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > >
> > > Original issue's description:
> > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > >
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > Committed: 713a3bbcc7
> > >
> > > TBR=mflodman@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:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2845333002
> > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > Committed: aec49d2b49
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2852303002
> > Cr-Commit-Position: refs/heads/master@{#17974}
> > Committed: d71ebd70f6
>
> TBR=mflodman@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:5880
>
> Review-Url: https://codereview.webrtc.org/2854883002
> Cr-Commit-Position: refs/heads/master@{#17978}
> Committed: 6e6a485a02

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2854873003
Cr-Commit-Position: refs/heads/master@{#18006}
2017-05-04 08:03:41 +00:00
c34e730896 Revert of Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/ (patchset #2 id:60001 of https://codereview.webrtc.org/2851563003/ )
Reason for revert:
Breaks downstream targets.

Original issue's description:
> Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
>
> CoreVideoFrameBuffer is Mac/iPhone specific and should be moved into
> the webrtc/sdk/objc/ folder.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2851563003
> Cr-Commit-Position: refs/heads/master@{#17998}
> Committed: d41631aa27

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

Review-Url: https://codereview.webrtc.org/2862663003
Cr-Commit-Position: refs/heads/master@{#18004}
2017-05-03 20:25:38 +00:00
d41631aa27 Move CoreVideoFrameBuffer from webrtc/common_video/ to webrtc/sdk/objc/
CoreVideoFrameBuffer is Mac/iPhone specific and should be moved into
the webrtc/sdk/objc/ folder.

BUG=None

Review-Url: https://codereview.webrtc.org/2851563003
Cr-Commit-Position: refs/heads/master@{#17998}
2017-05-03 14:10:10 +00:00
6e6a485a02 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
Reason for revert:
Unfortunately, more downstream updates needed.

Original issue's description:
> Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
>
> Reason for revert:
> Downstream projects being updated.
>
> For Chrome, relanding depends on cl
> https://codereview.chromium.org/2855783003/
>
> Original issue's description:
> > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> >
> > Reason for revert:
> > Broke Chrome build, see, e.g.,
> > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> >
> > Original issue's description:
> > > Delete deprecated and transitional stuff related to video frame refactoring.
> > >
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2622263002
> > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > Committed: 713a3bbcc7
> >
> > TBR=mflodman@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:5880
> >
> > Review-Url: https://codereview.webrtc.org/2845333002
> > Cr-Commit-Position: refs/heads/master@{#17929}
> > Committed: aec49d2b49
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2852303002
> Cr-Commit-Position: refs/heads/master@{#17974}
> Committed: d71ebd70f6

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

Review-Url: https://codereview.webrtc.org/2854883002
Cr-Commit-Position: refs/heads/master@{#17978}
2017-05-02 13:56:07 +00:00
d71ebd70f6 Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
Reason for revert:
Downstream projects being updated.

For Chrome, relanding depends on cl
https://codereview.chromium.org/2855783003/

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
>
> Reason for revert:
> Broke Chrome build, see, e.g.,
> http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
>
> Original issue's description:
> > Delete deprecated and transitional stuff related to video frame refactoring.
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2622263002
> > Cr-Commit-Position: refs/heads/master@{#17928}
> > Committed: 713a3bbcc7
>
> TBR=mflodman@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:5880
>
> Review-Url: https://codereview.webrtc.org/2845333002
> Cr-Commit-Position: refs/heads/master@{#17929}
> Committed: aec49d2b49

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

Review-Url: https://codereview.webrtc.org/2852303002
Cr-Commit-Position: refs/heads/master@{#17974}
2017-05-02 13:13:44 +00:00
aec49d2b49 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
Reason for revert:
Broke Chrome build, see, e.g.,
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237

Original issue's description:
> Delete deprecated and transitional stuff related to video frame refactoring.
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2622263002
> Cr-Commit-Position: refs/heads/master@{#17928}
> Committed: 713a3bbcc7

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

Review-Url: https://codereview.webrtc.org/2845333002
Cr-Commit-Position: refs/heads/master@{#17929}
2017-04-28 13:03:40 +00:00
713a3bbcc7 Delete deprecated and transitional stuff related to video frame refactoring.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2622263002
Cr-Commit-Position: refs/heads/master@{#17928}
2017-04-28 12:43:20 +00:00
cb8c1467bd Add FullStack test for simulcast screenshare mode.
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2745523002
Cr-Commit-Position: refs/heads/master@{#17150}
2017-03-09 17:23:30 +00:00
ede0759c04 Reland of Use TaskQueue in IncomingVideoStream (patchset #1 id:1 of https://codereview.webrtc.org/2714393003/ )
Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.

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

Reland of
686aa37382 (revert)
e2d1d64295 (original)

Review-Url: https://codereview.webrtc.org/2720773002
Cr-Commit-Position: refs/heads/master@{#16872}
2017-02-27 15:16:10 +00:00
686aa37382 Revert of Use TaskQueue in IncomingVideoStream (patchset #10 id:320001 of https://codereview.webrtc.org/2716473002/ )
Reason for revert:
Reverting while fixing build issue in Chromium.

Original issue's description:
> Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
>
> BUG=webrtc:7219, webrtc:7253
>
> Review-Url: https://codereview.webrtc.org/2716473002
> Cr-Commit-Position: refs/heads/master@{#16860}
> Committed: e2d1d64295

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

Review-Url: https://codereview.webrtc.org/2714393003
Cr-Commit-Position: refs/heads/master@{#16863}
2017-02-27 13:10:37 +00:00
e2d1d64295 Use TaskQueue in IncomingVideoStream instead of the PlatformThread + event timer approach.
BUG=webrtc:7219, webrtc:7253

Review-Url: https://codereview.webrtc.org/2716473002
Cr-Commit-Position: refs/heads/master@{#16860}
2017-02-27 12:40:43 +00:00
0f8b403eb5 Introduce a new constructor to PlatformThread.
The new constructor introduces two new changes:

* Support specifying thread priority at construction time.
  - Moving forward, the SetPriority() method will be removed.
* New thread function type.
  - The new type has 'void' as a return type and a polling loop
    inside PlatformThread, is not used.

The old function type is still supported until all places have been moved over.

In this CL, the first steps towards deprecating the old mechanism are taken
by moving parts of the code that were simple to move, over to the new callback
type.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2708723003
Cr-Commit-Position: refs/heads/master@{#16779}
2017-02-22 19:22:05 +00:00
3dd5ad9d50 Reland of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #2 id:150001 of https://codereview.webrtc.org/2687073002/ )
Reason for revert:
Reverting was done incorrectly. Returning patchset.

Original issue's description:
> Revert of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #5 id:80001 of https://codereview.webrtc.org/2668763004/ )
>
> Reason for revert:
> Speculative revert due to regression in perf tests.
>
> Original issue's description:
> > Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps.
> >
> >
> > BUG=webrtc:7095
> >
> > Review-Url: https://codereview.webrtc.org/2668763004
> > Cr-Commit-Position: refs/heads/master@{#16428}
> > Committed: 5f47126865
>
> TBR=sprang@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2687073002
> Cr-Commit-Position: refs/heads/master@{#16510}
> Committed: e67c59e7d2

TBR=sprang@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2685583006
Cr-Commit-Position: refs/heads/master@{#16512}
2017-02-09 12:58:53 +00:00
e67c59e7d2 Revert of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #5 id:80001 of https://codereview.webrtc.org/2668763004/ )
Reason for revert:
Speculative revert due to regression in perf tests.

Original issue's description:
> Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps.
>
>
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2668763004
> Cr-Commit-Position: refs/heads/master@{#16428}
> Committed: 5f47126865

TBR=sprang@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2687073002
Cr-Commit-Position: refs/heads/master@{#16510}
2017-02-09 12:08:56 +00:00
76bc8e858f Delete VideoReceiveStream::Config::pre_render_callback.
Also delete the class I420FrameCallback.

BUG=webrtc:7124

Review-Url: https://codereview.webrtc.org/2678343002
Cr-Commit-Position: refs/heads/master@{#16478}
2017-02-07 17:37:41 +00:00
5f47126865 Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2668763004
Cr-Commit-Position: refs/heads/master@{#16428}
2017-02-03 10:02:17 +00:00
af916899cc Move VideoFrame and related declarations to webrtc/api/video.
Moves webrtc/common_video/rotation.h and parts of
webrtc/common_video/include/video_frame_buffer.h and
webrtc/video_frame.h, and adds to a new GN target api:video_frame_api.

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2517173004
Cr-Commit-Position: refs/heads/master@{#15993}
2017-01-10 15:44:26 +00:00
1a646ee522 Wire up BitrateAllocation to be sent as RTCP TargetBitrate
This is the video parts of https://codereview.webrtc.org/2531383002/
Wire up BitrateAllocation to be sent as RTCP TargetBitrate

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2541303003
Cr-Commit-Position: refs/heads/master@{#15359}
2016-12-01 14:34:18 +00:00
f15a2c5193 Delete deprecated versions of Copy, ScaleFrom and CropAndScaleFrom.
BUG=webrtc:6672

Review-Url: https://codereview.webrtc.org/2528143002
Cr-Commit-Position: refs/heads/master@{#15317}
2016-11-30 09:52:12 +00:00
2f58ec82fc Add I420Buffer::Copy method taking plane pointers as input.
BUG=None.

Review-Url: https://codereview.webrtc.org/2528153002
Cr-Commit-Position: refs/heads/master@{#15259}
2016-11-28 11:48:01 +00:00
08127a9449 Reland #2 of Issue 2434073003: Extract bitrate allocation ...
This is yet another reland of https://codereview.webrtc.org/2434073003/
including two fixes:

1. SimulcastRateAllocator did not handle the screenshare settings properly for numSimulcastStreams = 1. Additional test case was added for that.
2. In VideoSender, when rate allocation is updated after setting a new VideoCodec config, only update the state of the EncoderParameters, but don't actually run SetRateAllocation on the encoder itself. This caused some problems upstreams.

Please review only the changes after patch set 1.

Original description:

Extract bitrate allocation of spatial/temporal layers out of codec impl.

This CL makes a number of intervowen changes:

* Add BitrateAllocation struct, that contains a codec independent view
  of how the target bitrate is distributed over spatial and temporal
  layers.

* Adds the BitrateAllocator interface, which takes a bitrate and frame
  rate and produces a BitrateAllocation.

* A default (non layered) implementation is added, and
  SimulcastRateAllocator is extended to fully handle VP8 allocation.
  This includes capturing TemporalLayer instances created by the
  encoder.

* ViEEncoder now owns both the bitrate allocator and the temporal layer
  factories for VP8. This allows allocation to happen fully outside of
  the encoder implementation.

This refactoring will make it possible for ViEEncoder to signal the
full picture of target bitrates to the RTCP module.

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

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

Cr-Commit-Position: refs/heads/master@{#15105}
2016-11-16 15:41:45 +00:00
e3fe4a7c2d Update VideoFrameBuffer-related methods to not use references to scoped_refptr.
Chrome coding standard now discourages use of references to smart
pointers. This cl updates some recent methods to the new conventions.

BUG=webrtc:6672

Review-Url: https://codereview.webrtc.org/2477233004
Cr-Commit-Position: refs/heads/master@{#15028}
2016-11-10 16:44:47 +00:00
1369c83b42 Revert of Issue 2434073003: Extract bitrate allocation ... (patchset #4 id:60001 of https://codereview.webrtc.org/2488833004/ )
Reason for revert:
Seems to be causing flakiness in perf test:
FullStackTest.ScreenshareSlidesVP8_2TL_LossyNet

Original issue's description:
> Reland of Issue 2434073003: Extract bitrate allocation ...
>
> This is a reland of https://codereview.webrtc.org/2434073003/ including
> some fixes for failing test cases.
>
> Original description:
>
> Extract bitrate allocation of spatial/temporal layers out of codec impl.
>
> This CL makes a number of intervowen changes:
>
> * Add BitrateAllocation struct, that contains a codec independent view
>   of how the target bitrate is distributed over spatial and temporal
>   layers.
>
> * Adds the BitrateAllocator interface, which takes a bitrate and frame
>   rate and produces a BitrateAllocation.
>
> * A default (non layered) implementation is added, and
>   SimulcastRateAllocator is extended to fully handle VP8 allocation.
>   This includes capturing TemporalLayer instances created by the
>   encoder.
>
> * ViEEncoder now owns both the bitrate allocator and the temporal layer
>   factories for VP8. This allows allocation to happen fully outside of
>   the encoder implementation.
>
> This refactoring will make it possible for ViEEncoder to signal the
> full picture of target bitrates to the RTCP module.
>
> BUG=webrtc:6301
>
> Committed: https://crrev.com/647bf43dcb2fd16fccf276bd94dc4400728bb405
> Cr-Commit-Position: refs/heads/master@{#15023}

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

Review-Url: https://codereview.webrtc.org/2491393002
Cr-Commit-Position: refs/heads/master@{#15026}
2016-11-10 16:30:39 +00:00
647bf43dcb Reland of Issue 2434073003: Extract bitrate allocation ...
This is a reland of https://codereview.webrtc.org/2434073003/ including
some fixes for failing test cases.

Original description:

Extract bitrate allocation of spatial/temporal layers out of codec impl.

This CL makes a number of intervowen changes:

* Add BitrateAllocation struct, that contains a codec independent view
  of how the target bitrate is distributed over spatial and temporal
  layers.

* Adds the BitrateAllocator interface, which takes a bitrate and frame
  rate and produces a BitrateAllocation.

* A default (non layered) implementation is added, and
  SimulcastRateAllocator is extended to fully handle VP8 allocation.
  This includes capturing TemporalLayer instances created by the
  encoder.

* ViEEncoder now owns both the bitrate allocator and the temporal layer
  factories for VP8. This allows allocation to happen fully outside of
  the encoder implementation.

This refactoring will make it possible for ViEEncoder to signal the
full picture of target bitrates to the RTCP module.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2488833004
Cr-Commit-Position: refs/heads/master@{#15023}
2016-11-10 14:46:28 +00:00
4bc98d4e1b Revert of Extract bitrate allocation of spatial/temporal layers out of codec impl. (patchset #17 id:320001 of https://codereview.webrtc.org/2434073003/ )
Reason for revert:
Breaks perf tests.

Original issue's description:
> Extract bitrate allocation of spatial/temporal layers out of codec impl.
>
> This CL makes a number of intervowen changes:
>
> * Add BitrateAllocation struct, that contains a codec independent view
>   of how the target bitrate is distributed over spatial and temporal
>   layers.
>
> * Adds the BitrateAllocator interface, which takes a bitrate and frame
>   rate and produces a BitrateAllocation.
>
> * A default (non layered) implementation is added, and
>   SimulcastRateAllocator is extended to fully handle VP8 allocation.
>   This includes capturing TemporalLayer instances created by the
>   encoder.
>
> * ViEEncoder now owns both the bitrate allocator and the temporal layer
>   factories for VP8. This allows allocation to happen fully outside of
>   the encoder implementation.
>
> This refactoring will make it possible for ViEEncoder to signal the
> full picture of target bitrates to the RTCP module.
>
> BUG=webrtc:6301
>
> Committed: https://crrev.com/8f46c679d24a05b3f08e02c6d91ec9637f34e24f
> Cr-Commit-Position: refs/heads/master@{#14998}

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

Review-Url: https://codereview.webrtc.org/2489843002
Cr-Commit-Position: refs/heads/master@{#15001}
2016-11-09 14:14:56 +00:00
8f46c679d2 Extract bitrate allocation of spatial/temporal layers out of codec impl.
This CL makes a number of intervowen changes:

* Add BitrateAllocation struct, that contains a codec independent view
  of how the target bitrate is distributed over spatial and temporal
  layers.

* Adds the BitrateAllocator interface, which takes a bitrate and frame
  rate and produces a BitrateAllocation.

* A default (non layered) implementation is added, and
  SimulcastRateAllocator is extended to fully handle VP8 allocation.
  This includes capturing TemporalLayer instances created by the
  encoder.

* ViEEncoder now owns both the bitrate allocator and the temporal layer
  factories for VP8. This allows allocation to happen fully outside of
  the encoder implementation.

This refactoring will make it possible for ViEEncoder to signal the
full picture of target bitrates to the RTCP module.

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2434073003
Cr-Commit-Position: refs/heads/master@{#14998}
2016-11-09 13:09:12 +00:00
18ee17d1e7 Refactor VideoDenoiser to use a buffer pool, replacing explicit double buffering.
Also improve denoiser to not assume identical stride of all involved
frames, and delete the no longer needed function I420Buffer::CopyKeepStride.

BUG=None

Review-Url: https://codereview.webrtc.org/2469763002
Cr-Commit-Position: refs/heads/master@{#14940}
2016-11-07 09:35:05 +00:00
536447c3d1 Changed I420BufferPool members to be const.
This is a follow up cl to https://codereview.webrtc.org/2474783005/ to addressed magjeds comments.

TBR=tommi@webrtc.org, magjed@webrtc.org
BUG=none

Review-Url: https://codereview.webrtc.org/2473383002
Cr-Commit-Position: refs/heads/master@{#14931}
2016-11-04 12:33:51 +00:00
Per
00983572b0 Replace Check for too many pending frames in I420_buffer_pool with returning nullptr. Added histograms for when this happens in VP8Impl.
BUG=chromium:542522
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14930}
2016-11-04 07:57:39 +00:00
5a8724564c iOS: Optimize video scaling and cropping
This CL makes scaling and cropping lazy in AVFoundationVideoCapturer and
provides optimized paths for SW and HW encoding. For SW encoding, an
efficient NV12 -> I420 cropping and scaling is implemented in
CoreVideoFrameBuffer::NativeToI420. For HW encoding, an efficient NV12 ->
NV12 cropping and scaling is implemented in
CoreVideoFrameBuffer::CropAndScaleTo. The performance improvement over
the existing cropping and scaling is that it is now done in one step
instead of making an intermediary copy of the Y plane.

There might still be room for improvement in the HW path using some HW
support. That will be explored in a future CL.

BUG=b/30939444

Review-Url: https://codereview.webrtc.org/2394483005
Cr-Commit-Position: refs/heads/master@{#14701}
2016-10-20 10:34:32 +00:00
e5684c5387 Delete method webrtc::VideoFrame::allocated_size and enum PlaneType.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2380623002
Cr-Commit-Position: refs/heads/master@{#14416}
2016-09-28 10:14:15 +00:00
5f8ebaeffd Add limitations of number of frames that can be created in I420BufferPool::CreateBuffer.
If more than 60 frames are created and not returned, the implementation will crash.

I420BufferPool are currently used by the VP8 decoder, Quality scaler and VideoFrameFactory.

BUG=b/31390397
NOTRY=true  // Because of failing gclient runhooks on some bots

Review-Url: https://codereview.webrtc.org/2370653003
Cr-Commit-Position: refs/heads/master@{#14395}
2016-09-27 10:47:48 +00:00
64ec8f826f Reland of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #1 id:1 of https://codereview.webrtc.org/2354223002/ )
Reason for revert:
Downstream application now fixed.

Original issue's description:
> Revert of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #14 id:260001 of https://codereview.webrtc.org/2278883002/ )
>
> Reason for revert:
> Broke downstream application.
>
> Original issue's description:
> > Move MutableDataY{,U,V} methods to I420Buffer only.
> >
> > Deleted from the VideoFrameBuffer base class.
> >
> > BUG=webrtc:5921
> >
> > Committed: https://crrev.com/5539ef6c03c273f39fadae41ace47fdc11ac6d60
> > Cr-Commit-Position: refs/heads/master@{#14317}
>
> TBR=perkj@webrtc.org,magjed@webrtc.org,pthatcher@webrtc.org,honghaiz@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:5921
>
> Committed: https://crrev.com/776870a2599b8f43ad56987f9031690e3ccecde8
> Cr-Commit-Position: refs/heads/master@{#14325}

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

Review-Url: https://codereview.webrtc.org/2372483002
Cr-Commit-Position: refs/heads/master@{#14389}
2016-09-27 07:17:40 +00:00
776870a259 Revert of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #14 id:260001 of https://codereview.webrtc.org/2278883002/ )
Reason for revert:
Broke downstream application.

Original issue's description:
> Move MutableDataY{,U,V} methods to I420Buffer only.
>
> Deleted from the VideoFrameBuffer base class.
>
> BUG=webrtc:5921
>
> Committed: https://crrev.com/5539ef6c03c273f39fadae41ace47fdc11ac6d60
> Cr-Commit-Position: refs/heads/master@{#14317}

TBR=perkj@webrtc.org,magjed@webrtc.org,pthatcher@webrtc.org,honghaiz@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:5921

Review-Url: https://codereview.webrtc.org/2354223002
Cr-Commit-Position: refs/heads/master@{#14325}
2016-09-21 10:52:21 +00:00
5539ef6c03 Move MutableDataY{,U,V} methods to I420Buffer only.
Deleted from the VideoFrameBuffer base class.

BUG=webrtc:5921

Review-Url: https://codereview.webrtc.org/2278883002
Cr-Commit-Position: refs/heads/master@{#14317}
2016-09-21 08:27:38 +00:00