[GStreamer] Add WebKitDMABufVideoSink
Created attachment 452639 [details]
So just to say it explicitly, this approach will mean that color balance, color conversion, and perhaps others filters, will be processed outside of the gstreamer pipeline.
The patch looks simple and correct. Does it work as-is? (without modifying the player side)
(In reply to Víctor M. Jáquez L. from comment #2)
> So just to say it explicitly, this approach will mean that color balance,
> color conversion, and perhaps others filters, will be processed outside of
> the gstreamer pipeline.
Yes, but in the current sinks AFAIU there's no color balance changes applied, and the color conversion is only used when necessary.
If color balance or some other filter would be required with the dmabuf-based sink, it would be done inside the pipeline.
But for any color conversion, with a dmabuf-capable decoder, we would need to cover composition of the given color format. Any other color conversion technique, if avoidable, would just add overhead.
For a raw-data decoder, if it had some unorthodox color format output, we're covered by the videoconvert element in the playbin.
(In reply to Víctor M. Jáquez L. from comment #3)
> The patch looks simple and correct. Does it work as-is? (without modifying
> the player side)
Well it works, but it requires separate changes in MediaPlayerPrivateGStreamer to properly handle these samples as well as actually use the sink. The patch is split from the larger body of work to keep it easy to review.
Comment on attachment 452639 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=452639&action=review
Can you make the style bubble green? The new file should be listed somewhere in a style-checker allowlist for GObject modules.
> +void webKitDMABufVideoSinkSetMediaPlayerPrivate(WebKitDMABufVideoSink* sink, MediaPlayerPrivateGStreamer* player)
maybe factor this out to a GStreamerVideoSinkCommon or Utilities module?
Created attachment 452715 [details]
Let's land this then?
Waiting for the branch to happen.
Comment on attachment 452715 [details]
Committed r290366 (247682@main): <https://commits.webkit.org/247682@main>
All reviewed patches have been landed. Closing bug and clearing flags on attachment 452715 [details].