h264parse: not correctly parsing or passing through avc
Submitted by Semen Belozorov
Link to original bug (#740118)
Description
I have ip camera that sends the h264 stream over rtsp. When I try to display this stream using GStreamer 1.4.4, i get a broken picture.
Problem appears when using the following simple pipeline:
rtspsrc location=rtsp://10.0.6.189/mpeg4 protocols=tcp ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
I can temporary get a correct picture, if I remove h264parse from the pipeline. Also, I can temporary get a correct picture if I use a GStreamer SDK 0.10. But in both cases, the picture may break later.
I found that the difference in behavior occurred after applying the following commit:
Revision: a41e8698
Author: Matej Knopp matej.knopp@gmail.com
Date: 08.09.2013 1:09:31
Message:
h264parse: don't update src caps if only codec_data differs
https://bugzilla.gnome.org/show_bug.cgi?id=705333
----
Modified: gst/videoparsers/gsth264parse.c
When I build the videoparsers in the state before applying this commit, I get the same behavior as in the case with a GStreamer SDK 0.10. But after some time the picture is still broke.
I recorded a part of the stream on which the picture is often broken. Sorry, it took so long. I've put it there:
https://drive.google.com/file/d/0Bw5nWXOdi4FybXpPMmVlQWsyVWs/view?usp=sharing
To reproduce the problem can be used the following pipeline:
gst-launch-1.0 filesrc location="CH9Hstream00002.gdp" ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink