GNOME Bugzilla – Bug 690632
rtsp reception pipeline gets an assertion when handling and parsing / decoding H264 packets
Last modified: 2013-02-06 12:28:07 UTC
Overview: At Gstreamer 1.0.4 The pipeline: rtspsrc -- capsfilter -- rtph264depay -- h264parse -- capsfilter -- avdec_h264 -- appsink Causes GStreamer-CRITICAL **: gst_segment_to_running_time: assertion `segment->format == format' failed and stops working. Steps to Reproduce: 1. clone https://github.com/ggetchev/gst_test and build the gsttest application (use make). 2. Bunzip2 the file 1.movie.bz2 to let say file.movie. 3. Execute in a shell: ./gsttest ./file.movie --no-reception 4. launch the pipeline: gst-launch-1.0 rtspsrc location=rtsp://bbs.darktech.org:1935/live/iphone.sdp ! capsfilter name=c1 caps=application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264 ! rtph264depay ! h264parse ! capsfilter name=c2 caps=video/x-h264,alignment=au ! avdec_h264 ! capsfilter name=c3 caps=video/x-raw,format=I420 ! avenc_tiff ! multifilesink location=./file_%05d.tiff Actual Results: There are tiff files, but none of them is a real tiff file. A lot of criticals is printed on the output: GStreamer-CRITICAL **: gst_segment_to_running_time: assertion `segment->format == format' failed If the last three elements (capsfilter name=c3, avenc_tiff, multifilesink) are substituted by appsink element - the sample delivery is broken by forced EOS signal / callback. Expected Results: 1. No criticals in the output. 2. The tiff files produced should be valid images. 3. If the last three elements are substituted by an appsink element the sample delivery should not be interrupted. That happens on Gstreamer 1.0.4, taken from git repository (tag = 1.0.4) OS: Ubuntu 12.04 LTS, 32-bit. Additional Information: The callstack when setting GST_DEBUG="fatal-criticals" is: Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 231313
Thread 3056597824 (LWP 7402)
The media sent to the server is processed by the following pipeline (look at the file gsttest2.c from the git repository mentioned above): appsrc -- x264enc -- capsfilter -- rtph264depay -- udpsink Settings: appsrc properties: caps = video/x-raw; format=I420; framerate=20; width=480; height=640 format = GST_FORMAT_TIME, max-latency = min-latency = 0 size = -1 max-bytes = 5 * 480 * 640 * 3 / 2; x264enc: bitrate = 3 * 512 tune = 4 speed-preset = 3 threads = 1 bframes = 0 b-adapt = 0 cabac = 0 dct8x8 = 0 aud = 0 byte-stream=1 key-int-max = 10 quantizer = 50 vbv-buf-capacity = 0 capsfilter: caps = "video/x-h264;stream-format=byte-stream; alignment=au" udpsink: host = bbs.darktech.org port = 1938 force-ipv4 = 1 sync = FALSE
*** This bug has been marked as a duplicate of bug 688382 ***