RPI 1.4.5 gst_memory_map: subclass map failed

Arnaud Loonstra arnaud at sphaero.org
Wed May 20 04:41:09 PDT 2015


That did help indeed, weird I didn't see any conversion in the logs. I 
just added a glcolorscale.

I'm using debian experimental packages which I build on Raspbian.

It's still quite slow and jittery though. Just a glimagesink is ok. 
What could cause that?

Rg,

Arnaud

On 2015-05-20 03:56, Matthew Waters wrote:
> How recent is your gst-plugins-bad checkout?
>
> Adding the glshader probably means uridecodebin is performing a
> videoconvert before glshader (You can check that with the --verbose
> option to gst-launch and the caps that are set on the element pads).  
> To
> solve, depending on your checkout, add either "glupload !
> glcolorconvert" or maybe just glcolorconvert is enough before the
> glshader to perform colour conversion on the GPU.
> Another option is to encapsulate your gl stuff in a convenience bin.
> Either glfilterbin or glsinkbin should work. e.g. uridecodebin !
> glsinkbin sink="glshader ! glimagesinkelement"
>
> On 20/05/15 03:52, Arnaud Loonstra wrote:
>> When I remove the "glshader ! glimagesink" bin and just use the
>> glimagesink it works (smooth also)
>>
>> Seems to be something with either the combined bin or the glshader?
>>
>> On 2015-05-19 19:33, Arnaud Loonstra wrote:
>>> Hi all,
>>>
>>> I'm running into an issue where a gst-launch is working on a
>>> Raspberry Pi but the same python code isn't...
>>>
>>> gst-launch-1.0 -v uridecodebin
>>> uri=file:///opt/vc/src/hello_pi/hello_video/test.h264 ! glshader
>>> location=shader.glsl preset=preset.glsl vars="float alpha =
>>> float(1.);" ! glimagesink  sync=false
>>>
>>> Is working (although slow)
>>>
>>> But the same in a python script is giving:
>>>
>>> 0:00:00.675878718 10258  0x1938b40 WARN                 basesrc
>>> gstbasesrc.c:3470:gst_base_src_start_complete:<source> pad not
>>> activated yet
>>> 0:00:00.695690831 10258  0x1938b40 WARN                 basesrc
>>> gstbasesrc.c:3470:gst_base_src_start_complete:<source> pad not
>>> activated yet
>>> <__main__.GstURIDecodeBin object at 0xb5d358f0 (GstURIDecodeBin at
>>> 0x191e058)> <GhostPad object at 0xb5d4faa8 (GstGhostPad at 
>>> 0x193a630)>
>>> <Bin object at 0xb5d35bc0 (GstBin at 0x1934080)>
>>> 0:00:01.313655144 10258  0x1a2d800 FIXME               glshader
>>> gstglshader.c:440:gst_gl_shader_compile: vertex shader info log:
>>> Compiled
>>> 0:00:01.316240028 10258  0x1a2d800 FIXME               glshader
>>> gstglshader.c:472:gst_gl_shader_compile: vertex shader info log:
>>> Compiled
>>> (python3:10258): GStreamer-CRITICAL **: gst_buffer_pool_get_config:
>>> assertion 'GST_IS_BUFFER_POOL (pool)' failed
>>> (python3:10258): GStreamer-CRITICAL **:
>>> gst_buffer_pool_config_get_params: assertion 'config != NULL' 
>>> failed
>>> (python3:10258): GStreamer-CRITICAL **: gst_structure_free: 
>>> assertion
>>> 'structure != NULL' failed
>>> (python3:10258): GStreamer-CRITICAL **: gst_buffer_pool_get_config:
>>> assertion 'GST_IS_BUFFER_POOL (pool)' failed
>>> (python3:10258): GStreamer-CRITICAL **:
>>> gst_buffer_pool_config_get_params: assertion 'config != NULL' 
>>> failed
>>> (python3:10258): GStreamer-CRITICAL **: gst_structure_free: 
>>> assertion
>>> 'structure != NULL' failed
>>> (python3:10258): GStreamer-CRITICAL **:
>>> gst_query_add_allocation_pool: assertion 'size != 0' failed
>>> 0:00:01.507338466 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x19ace18: subclass map failed
>>> 0:00:01.508560411 10258 0xb1008f20 ERROR                default
>>> video-frame.c:138:gst_video_frame_map_id: failed to map video frame
>>> plane 0
>>> 0:00:01.564639899 10258  0x1a2d800 FIXME               glshader
>>> gstglshader.c:440:gst_gl_shader_compile: vertex shader info log:
>>> Compiled
>>> 0:00:01.567068790 10258  0x1a2d800 FIXME               glshader
>>> gstglshader.c:472:gst_gl_shader_compile: vertex shader info log:
>>> Compiled
>>> 0:00:01.630446950 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x1951a68: subclass map failed
>>> 0:00:01.631518902 10258 0xb1008f20 ERROR                default
>>> video-frame.c:138:gst_video_frame_map_id: failed to map video frame
>>> plane 0
>>> 0:00:01.685431487 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x19ad0c0: subclass map failed
>>> 0:00:01.686610434 10258 0xb1008f20 ERROR                default
>>> video-frame.c:138:gst_video_frame_map_id: failed to map video frame
>>> plane 0
>>> 0:00:01.731516422 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x19acdc0: subclass map failed
>>> 0:00:01.732589374 10258 0xb1008f20 ERROR                default
>>> video-frame.c:138:gst_video_frame_map_id: failed to map video frame
>>> plane 0
>>> 0:00:01.781968162 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x19acf78: subclass map failed
>>> 0:00:01.783184107 10258 0xb1008f20 ERROR                default
>>> video-frame.c:138:gst_video_frame_map_id: failed to map video frame
>>> plane 0
>>> 0:00:01.829022053 10258 0xb1008f20 ERROR             GST_MEMORY
>>> gstmemory.c:318:gst_memory_map: mem 0x1a16b88: subclass map failed
>>>
>>> Code is here:
>>>
>>> 
>>> https://github.com/sphaero/ZOCPApps/blob/zvideo/zvideo/zvideoplayer.py
>>>
>>> Any thoughts?
>>>
>>> Rg,
>>>
>>> Arnaud
>>
>>
>>



More information about the gstreamer-devel mailing list