GNOME Bugzilla – Bug 744039
playbin: incorrect buffer sent to clutter-gst videosink
Last modified: 2018-11-03 11:34:48 UTC
https://bugzilla.gnome.org/show_bug.cgi?id=743687
Created attachment 296191 [details] [review] video-sink: upload by software if there's no gl uploader
I suppose this is a 3.0 bug. Could you explain a bit in what situation this would happen? A pipeline dump maybe? The caps negotiation should be prevent this.
(In reply to comment #2) > I suppose this is a 3.0 bug. Yes, I'm using the current master. > Could you explain a bit in what situation this would happen? A pipeline dump > maybe? As you can see in bug 743687, using bug743687.mkv[1] and this pipeline (using master of gstreamer and gstreamer-vaapi) $ gst-launch-1.0 playbin uri=file:///home/hadess/bug743687.mkv video-sink=clutterautovideosink audio-filter=scaletempo 1. https://hadess.fedorapeople.org/bug743687.mkv > The caps negotiation should be prevent this. Sort of: the negotiated caps are "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive\,\ chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)25/1" But the format I420 doesn't have a gl uploader but the dummy one.
Review of attachment 296191 [details] [review]: ::: clutter-gst/clutter-gst-video-sink.c @@ +1999,1 @@ GST_DEBUG_OBJECT (gst_source->sink, As far I as can tell, this is incorrect. If the buffer is signaled to provide gl textures, we can't just map the memory and read the data to software upload it. I'll continue to investigate, but it sounds like there is a negotiation problem somewhere...
> I'll continue to investigate, but it sounds like there is a negotiation problem > somewhere... Indeed. Or in the auto-connect, since this pipeline works without this patch gst-launch-1.0 filesrc location=bug743687.mkv ! matroskademux ! h264parse ! vaapidecode ! clutterautovideosink
To summarize : With : gst-launch-1.0 playbin uri=file:///tmp/bug743687.mkv video-sink=clutterautovideosink Playback is failing to display any picture. The negotiated pipeline is sending I420 buffers to the sink, but buffers are flagged with meta:GstVideoGLTextureUploadMeta. This is not a supported configuration reported by the sink. With : gst-launch-1.0 filesrc location=bug743687.mkv ! matroskademux ! h264parse ! vaapidecode ! clutterautovideosink Playback is working well. The negotiated pipeline is sending RGBA buffers to the sink, buffers are flagged with meta:GstVideoGLTextureUploadMeta. It seems something is going wrong when playbin is involved.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/160.