diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c index 2f18ffd383..572a28dedf 100644 --- a/gst-libs/gst/codecparsers/gsth264parser.c +++ b/gst-libs/gst/codecparsers/gsth264parser.c @@ -1938,13 +1938,11 @@ gst_h264_parser_parse_sei (GstH264NalParser * nalparser, GstH264NalUnit * nalu, sei->payloadType, payload_size); if (sei->payloadType == GST_H264_SEI_BUF_PERIOD) { - /* Set the nal reader size properly */ - nr.size = payload_size; + /* size not set; might depend on emulation_prevention_three_byte */ res = gst_h264_parser_parse_buffering_period (nalparser, &sei->buffering_period, &nr); } else if (sei->payloadType == GST_H264_SEI_PIC_TIMING) { - /* Set the nal reader size properly */ - nr.size = payload_size; + /* size not set; might depend on emulation_prevention_three_byte */ res = gst_h264_parser_parse_pic_timing (nalparser, &sei->pic_timing, &nr); } else res = GST_H264_PARSER_OK; diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c index 1723826f68..4ba67e133b 100644 --- a/gst/videoparsers/gsth264parse.c +++ b/gst/videoparsers/gsth264parse.c @@ -520,7 +520,7 @@ gst_h264_parse_process_nal (GstH264Parse * h264parse, GstH264NalUnit * nalu) if (h264parse->format == GST_H264_PARSE_FORMAT_AVC) h264parse->sei_pos = gst_adapter_available (h264parse->frame_out); else - h264parse->sei_pos = nalu->offset - 4; + h264parse->sei_pos = nalu->sc_offset; GST_DEBUG_OBJECT (h264parse, "marking SEI in frame at offset %d", h264parse->sei_pos); } @@ -563,7 +563,7 @@ gst_h264_parse_process_nal (GstH264Parse * h264parse, GstH264NalUnit * nalu) if (h264parse->format == GST_H264_PARSE_FORMAT_AVC) h264parse->idr_pos = gst_adapter_available (h264parse->frame_out); else - h264parse->idr_pos = nalu->offset - 4; + h264parse->idr_pos = nalu->sc_offset; GST_DEBUG_OBJECT (h264parse, "marking IDR in frame at offset %d", h264parse->idr_pos); }