RPI 1.4.5 gst_memory_map: subclass map failed

Matthew Waters ystreet00 at gmail.com
Wed May 20 05:23:15 PDT 2015


On 20/05/15 21:41, Arnaud Loonstra wrote:
> 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?

Maybe the extra render pass caused by the glshader element is too much
for the GPU to handle at the frame size/rate.  Or it could be your
specific shader.  You'll have to play around with trying different
shaders and see how they perform.  One simple test is to replace the
glshader with a gleffects element which unconditionally does an identity
full render pass (effectively a simple passthrough glshader). 
glcolorscale on the other hand will only operate if it needs to.  If
gleffects still performs slowly, you're hitting the hardware limits of
the rpi :)

> 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
>>>
>>>
>>>
>
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150520/e77798b9/attachment.sig>


More information about the gstreamer-devel mailing list