Gstreamer1.14 glupload

mike at baseforsale.com mike at baseforsale.com
Fri Feb 8 02:49:22 UTC 2019


Hi,

I'm attempting to get WPE working on an iMX6 and I've come across an 
issue with gstreamer-gl.  I think it is an issue with the meta-format 
being incorrectly reported after it leaves glupload. Examining the dot 
files between the two streams below, the only difference is that the 
format reported going into the colorConvertElement, for the pipeline 
that plays, is I420.  On the pipeline that does not play the format 
being reported is RGBA.  I'm assuming that glupload should just transfer 
the buffer but maintain the format and then glcolorconvert would 
actually convert it.


This pipeline does not work and is representative of what WPE sets up.
gst-launch-1.0 uridecodebin 
uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm 
! glupload ! glcolorconvert ! 'video/x-raw(memory:GLMemory), 
format=RGBA' ! glimagesink

Got context from element 'sink': gst.gl.GLDisplay=context, 
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayVivFB\)\ 
gldisplayvivfb0";ch-1.0 uridecodebin 
uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.w0:00:00.798403126 
  2956  0x178f0c0 WARN               structure 
gststructure.c:1832:priv_gst_structure_append_to_gstring: No value 
transform to serialize field 'session' of type 'SoupSession' 
GST_DEBUgst-launch-1.0 uridecodebin uri=https:Got context from element 
'source': gst.soup.session=context, session=(SoupSession)NULL, 
force=(boolean)false;
0:00:01.612460820  2956 0x69172780 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()ad !
[INFO]ntbitstreamMode 1, chromaInterleave 0, mapType 0, 
tiled2LinearEnable 0ssion)NULL, ot at cbt7g-imx6:/Apps# 
GST_DEgst-launch-1.0 uridecodebin 
uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm 
! gl0:00:01.625965600  2956 0x68e10a30 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()  ot at cbt7g-imx6:/Apps# 
GST_Dgst-launch-1.0 uridecodebin uri=https://www.f0:00:01.626970658  
2956 0x68e10a30 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
0:00:01.718965973  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB ! glupload ! glc
0:00:01.726362400  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using 
RGBww.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm 
! glupload 0:00:01.726457405  2956 0x68e10a30 WARN              
video-info video-info.c:463:gst_video_info_from_caps: invalid matrix 4 
for RGB format, using RGB              ot at cbt7g-imx6:/Apps# 
GSgst-launch-1.0 uridecodebin uri=https://www.freedesk0:00:01.728128169  
2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:01.728205506  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGBload ! glcolo
0:00:01.728464521  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:01.728970884  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:01.729322571  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:01.730005944  2956 0x68e10a30 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:01.775663248  2956 0x68e10a30 ERROR                default 
video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080 < 
1639680
0:00:01.775980933  2956 0x68e10a30 ERROR            glimagesink 
gstglimagesink.c:1630:prepare_next_buffer: Failed to map video frame.
0:00:01.776059937  2956 0x68e10a30 WARN             glimagesink 
gstglimagesink.c:1740:gst_glimage_sink_prepare:<sink> error: Failed to 
convert multiview video buffer
ERROR: from element 
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: 
Failed to convert multiview video buffer
Additional debug info:
../../../gst-plugins-base-1.14.4/ext/gl/gstglimagesink.c(1740): 
gst_glimage_sink_prepare (): 
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:01.795633068  2956 0x68e10a30 ERROR                default 
video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080 < 
1639680
0:00:01.795889083  2956 0x68e10a30 ERROR            glimagesink 
gstglimagesink.c:1630:prepare_next_buffer: Failed to map video frame.
0:00:01.796545454  2956 0x68e10a30 WARN             glimagesink 
gstglimagesink.c:1740:gst_glimage_sink_prepare:<sink> error: Failed to 
convert multiview video buffer

If place a capsfilter after glupload as follows this plays.  Although it 
is very choppy.

gst-launch-1.0 uridecodebin 
uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm 
! glupload ! 'video/x-raw(memory:GLMemory), format=I420' ! 
glcolorconvert ! 'video/x-raw(memory:GLMemory), format=RGBA' ! 
glimagesink

Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, 
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayVivFB\)\ gldisplayvivfb0";
0:00:00.784881429  3038  0x203d0e0 WARN               structure 
gststructure.c:1832:priv_gst_structure_append_to_gstring: No value 
transform to serialize field 'session' of type 'SoupSession'
Got context from element 'source': gst.soup.session=context, 
session=(SoupSession)NULL, force=(boolean)false;
0:00:01.664324875  3038 0x69171b80 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
[INFO]	bitstreamMode 1, chromaInterleave 0, mapType 0, 
tiled2LinearEnable 0
0:00:01.676512565  3038 0x68e0fc30 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
0:00:01.678046318  3038 0x68e0fc30 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


Playing through cog via cog -P fdo 
https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm

0:00:02.103917221  2985  0x16eb060 FIXME                default 
gstutils.c:3981:gst_pad_create_stream_id_internal:<appsrc0:src> Creating 
random stream-id, consider implementing a deterministic way of creating 
a stream-id
0:00:02.220573905  2985  0x15b1200 FIXME                    bin 
gstbin.c:4338:gst_bin_query: implement duration caching in GstBin again
0:00:02.548372019  2985  0x16f5fb0 WARN                    alsa 
conf.c:5000:snd_config_expand: alsalib error: Unknown parameters {AES0 
0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:02.548545695  2985  0x16f5fb0 WARN                    alsa 
pcm.c:2501:snd_pcm_open_noupdate: alsalib error: Unknown PCM 
default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:02.752764062  2985 0x6fb0abb0 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
[INFO]	bitstreamMode 1, chromaInterleave 0, mapType 0, 
tiled2LinearEnable 0
0:00:03.192916613  2985  0x183f780 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
0:00:03.217193003  2985  0x183f780 FIXME           videodecoder 
gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
Sub-class should implement drain()
0:00:04.002508326  2985 0x6e70e950 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:04.004410435  2985 0x6e70e950 WARN                glwindow 
gstglwindow.c:293:gst_gl_window_new: Could not create window. user 
specified (null), creating dummy window
0:00:04.027153405  2mxc_vpu 2040000.vpu_fsl: VPU interrupt received.
985  0x15b1200 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:04.028060123  2985 0x6e70e950 WARN              video-info 
video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
format, using RGB
0:00:04.037512332  2985 0x6e70e950 ERROR                default 
video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080 < 
1639680



-------------- next part --------------
A non-text attachment was scrubbed...
Name: notplaying_online.png
Type: image/png
Size: 206849 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190207/b4424f72/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: playing_online.png
Type: image/png
Size: 436709 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190207/b4424f72/attachment-0003.png>


More information about the gstreamer-devel mailing list