WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
283677
VideoMediaSampleRenderer do not display decoded frames created by VideoDecoder
https://bugs.webkit.org/show_bug.cgi?id=283677
Summary
VideoMediaSampleRenderer do not display decoded frames created by VideoDecoder
Jean-Yves Avenard [:jya]
Reported
2024-11-25 05:40:39 PST
The VideoMediaSampleRenderer maintains a CMBufferQueue of decoded frames, sorted in presentation order. It sets a timer to schedule a task at the current sample's presentation end time to determine when to display the next frame and which one to remove from the queue. To perform this tasks, the algorithm needs to be get the frame's duration and when it ends. An issue exposed by
bug 282163
, which removed the VP8 and VP9 SW decoder VideoToolbox plugins. When we use the WebCodec's VideoDecoder, the decoded frame returned have no duration. And as such, presentation time == presentation end time. When `VideoMediaSampleRenderer::purgeDecodedSampleQueue` runs, it schedules the purge of the next frame at the time it should be displayed. And so once complete, the frame is no longer there to display. This issue currently exists in IOS_FAMILY device, as it always uses VideoDecoder to decode VP8 and VP9 without SW decoder (which are mostly simulators)
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2024-11-25 05:40:58 PST
<
rdar://problem/140538938
>
Jean-Yves Avenard [:jya]
Comment 2
2024-11-25 06:06:06 PST
Pull request:
https://github.com/WebKit/WebKit/pull/37128
EWS
Comment 3
2024-11-27 15:33:20 PST
Committed
287133@main
(d33874653d6b): <
https://commits.webkit.org/287133@main
> Reviewed commits have been landed. Closing PR #37128 and removing active labels.
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