GNOME Bugzilla – Bug 753430
rtph264depay: Not working with caps "byte-stream/nal"
Last modified: 2015-08-16 13:40:53 UTC
It's related to the commit http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/gst/rtp/gstrtph264depay.c?id=ef7863355c7c7eca24fbd92d6457a91c02f042ac In gst_rtp_h264_set_src_caps, in case that byte_stream is true and sps and pps is NULL, this logic just does as below except for sps, pps insertion logic ---------------------------------------------- codec_data = gst_buffer_new_and_alloc (len); gst_buffer_map (codec_data, &map, GST_MAP_WRITE); data = map.data; gst_buffer_unmap (codec_data, &map); if (rtph264depay->codec_data) gst_buffer_unref (rtph264depay->codec_data); rtph264depay->codec_data = codec_data; --------------------------------------------- In this case, codec_data is gst buffer, which has NULL. (because len is 0) This causes failure when playing. Reproduce step : gst-rtsp-server / gst-launch playbin.
Created attachment 308994 [details] [review] rtph264depay: checking if depay has sps/pps nals before insertion
Created attachment 308995 [details] [review] rtph264depay: checking if depay has sps/pps nals before insertion
Thanks! commit 9c5c16eb57c1b12d10cb2bca7c4abd59e04583eb Author: Hyunjun Ko <zzoon.ko@samsung.com> Date: Mon Aug 10 14:13:50 2015 +0900 rtph264depay: checking if depay has sps/pps nals before insertion https://bugzilla.gnome.org/show_bug.cgi?id=753430