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
Patch for landing (24.29 KB, patch)
2019-08-06 09:23 PDT, Jer Noble
no flags
Jer Noble
Comment 1 2019-08-05 16:40:35 PDT
Radar WebKit Bug Importer
Comment 2 2019-08-05 16:40:51 PDT
Jer Noble
Comment 3 2019-08-05 16:43:57 PDT
Jer Noble
Comment 4 2019-08-05 17:14:55 PDT
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.