Commit e47b0138 authored by Seungha Yang's avatar Seungha Yang 🐑 Committed by Nicolas Dufresne

h265parse: Copy over DISCONT flag from input buffers

Apply the commit 10ffa089

https://bugzilla.gnome.org/show_bug.cgi?id=754124
parent e1d70fa6
......@@ -201,6 +201,8 @@ gst_h265_parse_reset (GstH265Parse * h265parse)
h265parse->pending_key_unit_ts = GST_CLOCK_TIME_NONE;
h265parse->force_key_unit_event = NULL;
h265parse->discont = FALSE;
gst_h265_parse_reset_frame (h265parse);
}
......@@ -833,6 +835,11 @@ gst_h265_parse_handle_frame (GstBaseParse * parse,
GstH265ParserResult pres;
gint framesize;
if (G_UNLIKELY (GST_BUFFER_FLAG_IS_SET (frame->buffer,
GST_BUFFER_FLAG_DISCONT))) {
h265parse->discont = TRUE;
}
/* delegate in packetized case, no skipping should be needed */
if (h265parse->packetized)
return gst_h265_parse_handle_frame_packetized (parse, frame);
......@@ -1721,6 +1728,11 @@ gst_h265_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
else
GST_BUFFER_FLAG_UNSET (buffer, GST_BUFFER_FLAG_HEADER);
if (h265parse->discont) {
GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
h265parse->discont = FALSE;
}
/* replace with transformed HEVC output if applicable */
av = gst_adapter_available (h265parse->frame_out);
if (av) {
......
......@@ -78,6 +78,8 @@ struct _GstH265Parse
GstBuffer *sps_nals[GST_H265_MAX_SPS_COUNT];
GstBuffer *pps_nals[GST_H265_MAX_PPS_COUNT];
gboolean discont;
/* frame parsing */
gint idr_pos, sei_pos;
gboolean update_caps;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment