GNOME Bugzilla – Bug 663751
gst-ffmpeg: assertions in aspect ratio calculation
Last modified: 2013-01-01 15:42:51 UTC
here is the offending pipeline: gst-launch -m -t rtspsrc location=rtsp://192.168.2.17/udpstream ! queue ! rtpmp4vdepay ! ffdec_mpeg4 ! xvimagesink sync=false or gst-launch -m -t playbin2 uri=rtsp://192.168.2.17/udpstream Program received signal SIGSEGV, Segmentation fault.
+ Trace 229034
Thread 140737226680064 (LWP 5336)
the same url is fine with vlc and worked in previuos gstreamer version
Created attachment 202907 [details] file that show the issue gst-launch filesrc location=test.gdp ! gdpdepay ! ffdec_mpeg4 ! xvimagesink works fine with gstreamer in ubuntu 11.10 and segfault with current git
now that 665631 is fixed a workaround is to use mpeg4videoparse, this pipeline: gst-launch filesrc location=test.gdp ! gdpdepay ! mpeg4videoparse ! ffdec_mpeg4 ! xvimagesink now works
Just trying now with git, both command lines (with and without mpeg4videoparse) run with no crash, displaying a similar (but obviously broken) video (moving mostly green/grey/black/yellow blocks/columns). Can you check if this crash still happens for you ? Valgrind shows use of uninitialized data in aspect ratio calculations, but I doubt this would cause a crash, so likely not the original issue.
Hi Vincent, I just rechecked and I can see the video with no problem with gstreamer shipped with ubuntu (no green/grey/black/yellow blocks/columns I can see a room after an initial green frame), gst-uninstalled crash for me (without mpeg4videoparse), I have a 64 bit system, how can I send you more infos?
After a full rebuild of gst-ffmpeg+libav, I see a room *sigh*. Still no crash though, with or without mpeg4videoparse. I noticed ffmpeg tries to use headers from installed before headers from in-tree, so I have to remember to rm its installed headers before rebuilding. That likely explains the corrupt image I was seeing before. Last libav commit is 0b8b3387a977dcdb6fb9e53bcc9966d34b2e4cec from 10 january. We'll see if anyone else can repro this.
After a full rebuild of gst-ffmpeg+libav the segfault is not more here, remain a warning using this pipeline: gst-launch --gst-fatal-warnings filesrc location=/tmp/test.gdp ! gdpdepay ! ffdec_mpeg4 ! xvimagesink GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 229464
Thread 140737241323264 (LWP 31315)
Right, I do get those asserts as well.
Not a blocker anymore, the asserts are not fatal.
This works fine for me now: gst-launch-1.0 filesrc location= /home/tpm/samples/misc/663751-mpeg4-decoder-warning.gdp ! gdpdepay ! avdec_mpeg4 ! xvimagesink -v without any such warning (probably a side-effect of the video decoder having been ported to the new video decoder base class), so let's close this. Please re-open or file a new bug if you still have issues with 1.x, thanks!