GNOME Bugzilla – Bug 686008
qtdemux: crashes in push mode with gst_qtdemux_guess_bitrate: assertion failed: (size >= qtdemux->header_size)
Last modified: 2012-10-12 23:09:32 UTC
Trying to stream a video from a local rygel instance crashes qtdemux. ERROR:qtdemux.c:7648:gst_qtdemux_guess_bitrate: assertion failed: (size >= qtdemux->header_size) Program received signal SIGABRT, Aborted.
+ Trace 231017
Thread 140736630433536 (LWP 22567)
$1 = -1 (gdb) p qtdemux->header_size $2 = 1845995 (gdb) list 7643 } 7644 7645 /* Subtract the header size */ 7646 GST_DEBUG_OBJECT (qtdemux, "Total size %" G_GINT64_FORMAT ", header size %u", 7647 size, qtdemux->header_size); 7648 g_assert (size >= qtdemux->header_size); 7649 size = size - qtdemux->header_size; 7650 7651 if (!gst_qtdemux_get_duration (qtdemux, &duration) || 7652 duration == GST_CLOCK_TIME_NONE) { (gdb)
http://people.gnome.org/~hadess/bug686008.mp4 $ cat bug686008.mp4 | gst-launch-1.0 playbin uri=fd://0 Shows the problem Doesn't crash over HTTP with this URL (I guess that seeking capabilities are different).
Also happens with 0.10 git, fwiw, but not releases. commit e9682b938a56e52c168143d481f69028e5cf1f74 Author: Tim-Philipp Müller <tim@centricular.net> Date: Sat Oct 13 00:03:29 2012 +0100 qtdemux: don't assert if upstream size is not available when guessing bitrates Fixes abort in push mode where the source is not seekable and the size of the file is not available, as with cat foo.mp4 | gst-launch-1.0 playbin uri=fd://0 Less noticable with releases, since we disable all g_assert() there. https://bugzilla.gnome.org/show_bug.cgi?id=686008