WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 200457
Adopt -expectMinimumUpcomingSampleBufferPresentationTime:
https://bugs.webkit.org/show_bug.cgi?id=200457
Summary
Adopt -expectMinimumUpcomingSampleBufferPresentationTime:
Jer Noble
Reported
2019-08-05 16:40:12 PDT
Adopt -expectMinimumUpcomingSampleBufferPresentationTime:
Attachments
Patch
(24.18 KB, patch)
2019-08-05 16:43 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(24.29 KB, patch)
2019-08-06 09:23 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Jer Noble
Comment 1
2019-08-05 16:40:35 PDT
<
rdar://problem/53961130
>
Radar WebKit Bug Importer
Comment 2
2019-08-05 16:40:51 PDT
<
rdar://problem/53964377
>
Jer Noble
Comment 3
2019-08-05 16:43:57 PDT
Created
attachment 375584
[details]
Patch
Jer Noble
Comment 4
2019-08-05 17:14:55 PDT
<
rdar://problem/53961130
>
Eric Carlson
Comment 5
2019-08-06 06:14:44 PDT
Comment on
attachment 375584
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=375584&action=review
> Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1279 > + if (trackID != m_enabledVideoTrackID) > + return;
Nit: canSetMinimumUpcomingPresentationTime has already done this check.
> Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1292 > + int trackID = trackIDString.toInt(); > + if (trackID != m_enabledVideoTrackID) > + return;
Ditto
Jer Noble
Comment 6
2019-08-06 09:23:16 PDT
Created
attachment 375626
[details]
Patch for landing
WebKit Commit Bot
Comment 7
2019-08-06 10:05:20 PDT
Comment on
attachment 375626
[details]
Patch for landing Clearing flags on attachment: 375626 Committed
r248301
: <
https://trac.webkit.org/changeset/248301
>
WebKit Commit Bot
Comment 8
2019-08-06 10:05:21 PDT
All reviewed patches have been landed. Closing bug.
Alicia Boya García
Comment 9
2019-08-07 07:01:15 PDT
What is this used for? It seems to be accessible from internals only. And why are these the expected values of internals.minimumUpcomingPresentationTimeForTrackID(sourceBuffer, 1) in the first two cases in the provided test?
Jer Noble
Comment 10
2019-08-07 08:18:42 PDT
(In reply to Alicia Boya García from
comment #9
)
> What is this used for? It seems to be accessible from internals only.
It's an implementation detail of AVSampleBufferDisplayLayer. I tried to set up SourceBufferPrivate so that other ports wouldn't need to worry about it. That said, it allows SourceBufferPrivate to be notified about timing of not-yet-enqueued samples. If you have a hypothetical decoder that won't start decoding samples until just before the earliest enqueued PTS, but only has a short sample queue, it's possible that an not-yet-enqueued sample has a lower PTS than all the enqueued ones, and unless the decoder knows about it, it could drop that sample by not decoding other samples in the queue until after that PTS.
> And why are these the expected values of > internals.minimumUpcomingPresentationTimeForTrackID(sourceBuffer, 1) in the > first two cases in the provided test?
The mock SourceBuffer's queue depth is set to 3, and the first three samples have PTSs of 0, 2, and 3. So the minimum upcoming un-enqueued PTS is 1. After a seek to PTS of 4, the buffer is flushed and the samples re-enqueued, starting at PTSs of 4, 5, and 6. The minimum upcoming PTS is 8. When a sample with a PTS of 7 is appended, that gets re-calculated and the minimum upcoming PTS is 7.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug