GNOME Bugzilla – Bug 710564
Need to convert OMX alignments to GStreamer alignments
Last modified: 2014-07-23 08:26:05 UTC
device: raspberry pi os: debian gstreamer 1.2 build from weezy packages from repo this is my testing pipeline ORC_CODE=backup GST_DEBUG="videorate:9,*:3,omx:3,omxvideoenc:3,omxvideodec:3,h264parse:3" gst-launch-1.0 -v uridecodebin uri="file:///home//pi//test2//test.ts" name=demux \ ! video/x-raw, format="I420", framerate=25/1, width=720, height=576 \ ! videorate skip-to-first=true ! video/x-raw, framerate=25/1 \ ! fakesink sync=true after I added videorate to pipeline I get segfault test file included it is mpeg2 but it crash with any other mpeg4 avc file (gst-launch-1.0:3191): GStreamer-CRITICAL **: gst_allocator_alloc: assertion `((params->align + 1) & params->align) == 0' failed (gst-launch-1.0:3191): GStreamer-CRITICAL **: gst_memory_map: assertion `mem != NULL' failed 0:00:01.420407620 3191 0xe3e580 WARN GST_MEMORY gstallocator.c:113:_fallback_mem_copy: could not write map memory (nil) (gst-launch-1.0:3191): GStreamer-CRITICAL **: gst_allocator_free: assertion `memory != NULL' failed Caught SIGSEGV
I don't know if it is related but If I do videoscale GST_DEBUG="videorate:9,*:3,omx:3,omxvideoenc:3,omxvideodec:3,h264parse:3" gst-launch-1.0 -v uridecodebin uri="file:///home//pi//test2//test.mp4" name=demux \ ! video/x-raw, format="I420" \ ! videoscale method=0 ! video/x-raw, width=720, height=288 \ ! fakesink sync=true it crash too with ORC_CODE=backup all works fine
Could you get a backtrace with G_DEBUG=fatal_warnings of the first crash?
G_DEBUG=fatal_warnings gdb --args gst-launch-1.0 -v uridecodebin uri=http://192.168.1.89:3000/T-8395-518-770 name=demux ! video/x-raw, format=I420, framerate=25/1 ! videorate skip-to-first=true ! video/x-raw, framerate=25/1 ! fakesink sync=true GNU gdb (GDB) 7.4.1-debian Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/gst-launch-1.0...(no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/gst-launch-1.0 -v uridecodebin uri=http://192.168.1.89:3000/T-8395-518-770 name=demux \! video/x-raw, format=I420, framerate=25/1 \! videorate skip-to-first=true \! video/x-raw, framerate=25/1 \! fakesink sync=true [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstURIDecodeBin:demux: source = "\(GstSoupHTTPSrc\)\ source" [New Thread 0xb6518470 (LWP 17451)] [New Thread 0xb5d18470 (LWP 17452)] Pipeline is PREROLLING ... [New Thread 0xb5518470 (LWP 17454)] ** (gst-launch-1.0:17448): WARNING **: Command line `dbus-launch --autolaunch=c1e593dbbed812ae92eec8cf522e59b2 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 232687
Thread 3058795632 (LWP 17451)
but it stop on connecting to X is it possible to disable it?
Well, something was instantiating the dconf gio module. Best would be if you would run all that in an environment that does not produce any unrelated warnings, and as a first warning creates the ones you mentioned in the first comment.
(gst-launch-1.0:7833): GStreamer-CRITICAL **: gst_allocator_alloc: assertion `((params->align + 1) & params->align) == 0' failed Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 232690
Thread 2946352240 (LWP 7851)
Which version of gst-omx are you using? Can you get a full debug log with GST_DEBUG=6 and attach it here?
GST_DEBUG=6 \ gst-launch-1.0 -v uridecodebin uri="http://192.168.1.88:3000/T-8395-518-770" name=demux \ ! video/x-raw, format="I420", framerate=25/1 \ ! videorate skip-to-first=true ! video/x-raw, framerate=25/1 \ ! fakesink sync=true http://www.mdragon.org/problem3.log
gst-omx is git master version
any progress ?
No progress AFAIK, and I don't have access to a RPi currently. Needs someone with a RPi to debug this
http://uk.farnell.com/jsp/search/productdetail.jsp?id=2191863&Ntt=2191863& Cheap toy for old boys and girls :)
ORC_CODE=backup \ GST_DEBUG="*:3,GST_MEMORY:0,omxvideodec:3,omxh264dec:0,omxbufferpool:5,videorate:5" \ gst-launch-1.0 uridecodebin uri="http://live.mdragon.org/test_omx/test.ts" use-buffering=true name=demux \ ! tee name="decdata" \ ! videorate ! 'video/x-raw, framerate=25/2' \ ! fakesink \ 2>&1 is still here 0:00:02.353653872 4296 0x10c7290 ERROR omxbufferpool gstomxbufferpool.c:80:gst_omx_memory_map: map 0xb0060020 offset:0 (gst-launch-1.0:4296): GStreamer-CRITICAL **: gst_allocator_alloc: assertion `((params->align + 1) & params->align) == 0' failed (gst-launch-1.0:4296): GStreamer-CRITICAL **: gst_memory_map: assertion `mem != NULL' failed (gst-launch-1.0:4296): GStreamer-CRITICAL **: gst_allocator_free: assertion `memory != NULL' failed 0:00:02.361950495 4296 0x10c7290 ERROR omxbufferpool gstomxbufferpool.c:87:gst_omx_memory_unmap: unmap Caught SIGSEGV any idea?
Backtrace of the first warning (which causes all the follow up problems): (gst-launch-1.0:3474): GStreamer-CRITICAL **: gst_allocator_alloc: assertion `((params->align + 1) & params->align) == 0' failed Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0xb15ff470 (LWP 3499)] 0xb6d31e58 in raise () from /lib/arm-linux-gnueabihf/libpthread.so.0 (gdb) (gdb) thread apply all bt
+ Trace 233722
Thread 11 (Thread 0xb15ff470 (LWP 3499))
commit 03c54e7c0fbba61a5b2bf2610b62902321a087da Author: Sebastian Dröge <sebastian@centricular.com> Date: Tue Jun 24 12:42:22 2014 +0200 omxbufferpool: Properly convert OMX alignment to GStreamer alignment GStreamer uses a bitmask for the alignment while OMX uses the alignment itself. Let's convert. https://bugzilla.gnome.org/show_bug.cgi?id=710564