Commit Graph

17 Commits

Author SHA1 Message Date
04926b8264 Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
Reason for revert:
Breaks tests downstream.

Original issue's description:
> Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
>
> Reason for revert:
> Fix in this CL: https://codereview.chromium.org/2640793003/
>
> Original issue's description:
> > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> >
> > Reason for revert:
> > Breaks android bots.
> >
> > Original issue's description:
> > > Make the new jitter buffer the default jitter buffer.
> > >
> > > This CL contains only the changes necessary to make the switch to the new jitter
> > > buffer, clean up will be done in follow up CLs.
> > >
> > > In this CL:
> > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > >    new video jitter buffer the default one.
> > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > >
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2627463004
> > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > Committed: 0f0763d86d
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2632123005
> > Cr-Commit-Position: refs/heads/master@{#16117}
> > Committed: c08c191f7d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2642753002
> Cr-Commit-Position: refs/heads/master@{#16149}
> Committed: f20dd0014d

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

Review-Url: https://codereview.webrtc.org/2638423003
Cr-Commit-Position: refs/heads/master@{#16159}
2017-01-19 08:06:17 +00:00
f20dd0014d Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
Reason for revert:
Fix in this CL: https://codereview.chromium.org/2640793003/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
>
> Reason for revert:
> Breaks android bots.
>
> Original issue's description:
> > Make the new jitter buffer the default jitter buffer.
> >
> > This CL contains only the changes necessary to make the switch to the new jitter
> > buffer, clean up will be done in follow up CLs.
> >
> > In this CL:
> >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> >    new video jitter buffer the default one.
> >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> >
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2627463004
> > Cr-Commit-Position: refs/heads/master@{#16114}
> > Committed: 0f0763d86d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2632123005
> Cr-Commit-Position: refs/heads/master@{#16117}
> Committed: c08c191f7d

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

Review-Url: https://codereview.webrtc.org/2642753002
Cr-Commit-Position: refs/heads/master@{#16149}
2017-01-18 15:15:37 +00:00
fcc600651d Clear the FrameBuffer in case of a backward jump in the picture id.
Even though this is against the spec we allow a stream to continue if
a backwards jump in the picture id occurs on a keyframe.

BUG=webrtc:7001, webrtc:5514

Review-Url: https://codereview.webrtc.org/2640793003
Cr-Commit-Position: refs/heads/master@{#16146}
2017-01-18 13:35:20 +00:00
c08c191f7d Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
Reason for revert:
Breaks android bots.

Original issue's description:
> Make the new jitter buffer the default jitter buffer.
>
> This CL contains only the changes necessary to make the switch to the new jitter
> buffer, clean up will be done in follow up CLs.
>
> In this CL:
>  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
>    new video jitter buffer the default one.
>  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
>    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
>
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2627463004
> Cr-Commit-Position: refs/heads/master@{#16114}
> Committed: 0f0763d86d

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

Review-Url: https://codereview.webrtc.org/2632123005
Cr-Commit-Position: refs/heads/master@{#16117}
2017-01-17 12:03:53 +00:00
0f0763d86d Make the new jitter buffer the default jitter buffer.
This CL contains only the changes necessary to make the switch to the new jitter
buffer, clean up will be done in follow up CLs.

In this CL:
 - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
   new video jitter buffer the default one.
 - Moved WebRTC.Video.KeyFramesReceivedInPermille and
   WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2627463004
Cr-Commit-Position: refs/heads/master@{#16114}
2017-01-17 11:31:15 +00:00
be74270ebe Calculate JitterBufferDelayInMs in the new jitter buffer.
JitterBufferDelayInMs is used for the WebRTC-NewVideoJitterBuffer finch
experiment, and therefore needs to be calculated.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2534093003
Cr-Commit-Position: refs/heads/master@{#15313}
2016-11-30 09:31:45 +00:00
266f0a44eb Now run EndToEndTest with the WebRTC-NewVideoJitterBuffer experiment.
In this CL:
 - EndToEndTests is now parameterized.
 - Added VP8 non-rotated unittest.
 - CanReceiveUlpfec/CanReceiveFlexFec now use multisets for timestamps.
 - pre_decode_image_callback_ is now called before decoding a frame
   with the new video jitter buffer.
 - Set video rotation when FrameObjects are created.
 - Calculate KeyFramesReceivedInPermille in new video jitter buffer.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2522493002
Cr-Commit-Position: refs/heads/master@{#15274}
2016-11-28 16:49:15 +00:00
fd5a20fd68 New jitter buffer experiment.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2480293002
Cr-Commit-Position: refs/heads/master@{#15077}
2016-11-15 08:58:06 +00:00
37abf53116 Delete FrameObject::size member.
Replaced with a size() method, returning the corresponding attribute
(_length) of the underlying EncodedImage.

BUG=None

Review-Url: https://codereview.webrtc.org/2444193010
Cr-Commit-Position: refs/heads/master@{#14809}
2016-10-28 07:37:34 +00:00
93e451b0f5 Skip non-continuous FrameInfos when finding the next frame to return from FrameBuffer::NextFrame.
Also added DCHECKS to make sure that FrameInfos are not incorrectly updated.

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

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

Cr-Commit-Position: refs/heads/master@{#14549}
2016-10-06 10:25:24 +00:00
e0b2f15417 Frame continuity is now tested as soon as a frame is inserted into the FrameBuffer.
Since we want to stop sending NACKS for frames not needed to keep the stream
decodable we must know which frames that are continuous or not.

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

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

Cr-Commit-Position: refs/heads/master@{#14412}
2016-09-28 08:24:02 +00:00
7556282a6c FrameBuffer::NextFrame now return a ReturnReason and take an additional std::unique_ptr<FrameObject>* as output parameter.
In order to distinguish between a return caused by the FrameBuffer
being stopped and a return caused by a timeout we now return
a ReturnReason.

BUG=webrtc:5514
R=danilchap@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14065}
2016-09-05 08:57:56 +00:00
4f6cd6ac59 Wire up VCMTiming in FrameBuffer2.
The VCMTiming class is now used to set the render time for frames.

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

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

Cr-Commit-Position: refs/heads/master@{#13621}
2016-08-03 08:59:47 +00:00
504c47d750 FrameBuffer2 now has Start/Stop methods.
The Stop method is used to signal any thread that is waiting in the
NextFrame function and will cause it to return immediately.

BUG=webrtc:5514
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13349}
2016-06-30 15:33:17 +00:00
be7a9e5f8a Revert "Revert of FrameBuffer for the new jitter buffer. (patchset #9 id:160001 of https://codereview.webrtc.org/1969403007/ )"
Also disabled modules_unittest.TestFrameBuffer2.* in drmemory.

This reverts commit b711f10d9683b9de6ee78186f77b225fc7ebfb8f.

TBR=honghaiz@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12806}
2016-05-19 10:19:44 +00:00
b711f10d96 Revert of FrameBuffer for the new jitter buffer. (patchset #9 id:160001 of https://codereview.webrtc.org/1969403007/ )
Reason for revert:
Two tests added by this CL failed in Win DrMemory Full:
 TestFrameBuffer2.OneLayerStreamReordered - TestFrameBuffer2.WaitForFrame

See the link here:
https://build.chromium.org/p/client.webrtc/waterfall?builder=Win%20DrMemory%20Full

Original issue's description:
> FrameBuffer for the new jitter buffer.
>
> BUG=webrtc:5514
> R=danilchap@webrtc.org, mflodman@webrtc.org
>
> Committed: https://crrev.com/a376e70cf9d0df3c35d53533b454da542661775b
> Cr-Commit-Position: refs/heads/master@{#12798}

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

Review-Url: https://codereview.webrtc.org/1991513004
Cr-Commit-Position: refs/heads/master@{#12800}
2016-05-18 22:52:36 +00:00
a376e70cf9 FrameBuffer for the new jitter buffer.
BUG=webrtc:5514
R=danilchap@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12798}
2016-05-18 16:10:14 +00:00