New issue
Advanced search Search tips

Issue 672339 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 649438



Sign in to add a comment

MSE: Opus CodecDelay breaks append window trimming and overreports buffered time

Project Member Reported by chcunningham@chromium.org, Dec 8 2016

Issue description

We correctly discard Opus CodecDealy (ffmpeg decoder) and DiscardPadding (audio discard helper), but we do account for this in FrameProcessor, nor when reporting buffered ranges.

This manifests in a few ways.

1. Buffered time appears longer than it should (it includes the CodecDelay, which is not really a part of the media timeline)

2. Append window trimming is imprecise. 

The frame processor doesn't know that the encoded timestamps its seeing need to be rebased to subtract CodecDelay.

appendWindowStart almost works. Because the timestamps haven't been rebased yet, frame processor will save buffers in the CodecDelay + buffers after the appendWindowStart boundary. But buffers that straddle the boundary will need use discard padding, and this will not work in AudioDiscardHelper which only applies discard padding when decoder output is not delayed by more than one buffer.

appendWindowEnd: trims too much. Because codec delay has not been subtracted out, frame processor will discard buffers a little before it should.

 
Components: Internals>Media>Source
Labels: -Pri-3 Pri-2
Cc: dalecur...@chromium.org wolenetz@chromium.org
See also Issue 672342
Blocking: 649438
Labels: M-70
Owner: wolenetz@chromium.org
Matt, did you mean to mark this M70? I don't have cycles for it now, so over to you for triage/clarification.
Labels: -Pri-2 -M-70 Pri-3
My cycles are full currently, too; I'll keep this one for now.

Sign in to add a comment