summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2018-12-01 22:42:53 +0900
committerEdward Hervey <bilboed@bilboed.com>2018-12-13 10:32:30 +0000
commit8766a45ee495c6a8ed6f5cb6b49a4a84dec6ea7e (patch)
tree068db34ef3b4d782d627debf048429fca60f8453 /gst
parent0842187e6ee0b491439e443cff58300693a7e1ef (diff)
downloadgstreamer-plugins-bad-8766a45ee495c6a8ed6f5cb6b49a4a84dec6ea7e.tar.gz
h26{4,5}parse: Don't confuse nal of codec_data with frame
vps/sps/pps in codec_data shouldn't be considered as inband data. Otherwise, h26{4,5}parse never insert them to nal when transform (packetized to byte-stream) use case
Diffstat (limited to 'gst')
-rw-r--r--gst/videoparsers/gsth264parse.c4
-rw-r--r--gst/videoparsers/gsth265parse.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index 668f83999..fe500337a 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -2714,6 +2714,10 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps * caps)
gst_buffer_unmap (codec_data, &map);
gst_buffer_replace (&h264parse->codec_data_in, codec_data);
+
+ /* don't confuse codec_data with inband sps/pps */
+ h264parse->have_sps_in_frame = FALSE;
+ h264parse->have_pps_in_frame = FALSE;
} else if (format == GST_H264_PARSE_FORMAT_BYTE) {
GST_DEBUG_OBJECT (h264parse, "have bytestream h264");
/* nothing to pre-process */
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index 5f7d7d67c..3ae78aa8c 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -2310,6 +2310,11 @@ gst_h265_parse_set_caps (GstBaseParse * parse, GstCaps * caps)
}
}
gst_buffer_unmap (codec_data, &map);
+
+ /* don't confuse codec_data with inband vps/sps/pps */
+ h265parse->have_vps_in_frame = FALSE;
+ h265parse->have_sps_in_frame = FALSE;
+ h265parse->have_pps_in_frame = FALSE;
} else {
GST_DEBUG_OBJECT (h265parse, "have bytestream h265");
/* nothing to pre-process */