summaryrefslogtreecommitdiff
path: root/gst/videoparsers/gsth264parse.c
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-01-03 21:59:32 +0100
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-01-03 22:08:07 +0100
commitdcd2ee421a90cba280b5c8abfb0f1c39bd4d8780 (patch)
treee27fc7c1f5e4f0de8197c8b8cdf4e050c72a0e0e /gst/videoparsers/gsth264parse.c
parent75b8ddb6cf440d71d939722da6ff43f3bcd44f9b (diff)
downloadgstreamer-plugins-bad-dcd2ee421a90cba280b5c8abfb0f1c39bd4d8780.tar.gz
h264parse: mark byte-stream AU frame with inserted codec NALs as keyframe
Diffstat (limited to 'gst/videoparsers/gsth264parse.c')
-rw-r--r--gst/videoparsers/gsth264parse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index e9ea858c2..e1f92ee9e 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -1463,6 +1463,9 @@ gst_h264_parse_pre_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
/* collect result and push */
new_buf = gst_byte_writer_reset_and_get_buffer (&bw);
gst_buffer_copy_metadata (new_buf, buffer, GST_BUFFER_COPY_ALL);
+ /* should already be keyframe/IDR, but it may not have been,
+ * so mark it as such to avoid being discarded by picky decoder */
+ GST_BUFFER_FLAG_UNSET (new_buf, GST_BUFFER_FLAG_DELTA_UNIT);
gst_buffer_replace (&frame->buffer, new_buf);
gst_buffer_unref (new_buf);
}