mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 04:22:27 +00:00
h265parse: Copy over DISCONT flag from input buffers
Apply the commit 10ffa08
https://bugzilla.gnome.org/show_bug.cgi?id=754124
This commit is contained in:
parent
b7bc4b4cb5
commit
7032b6a454
2 changed files with 14 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue