avcodec/h264_mp4toannexb_bsf: implement a AVBSFContext.flush() callback
authorJames Almer <jamrial@gmail.com>
Thu, 26 Jul 2018 23:34:52 +0000 (20:34 -0300)
committerJames Almer <jamrial@gmail.com>
Fri, 17 Aug 2018 02:43:10 +0000 (23:43 -0300)
Signed-off-by: James Almer <jamrial@gmail.com>
libavcodec/h264_mp4toannexb_bsf.c

index 794c82e..fb3f24e 100644 (file)
@@ -280,6 +280,15 @@ fail:
     return ret;
 }
 
+static void h264_mp4toannexb_flush(AVBSFContext *ctx)
+{
+    H264BSFContext *s = ctx->priv_data;
+
+    s->idr_sps_seen = 0;
+    s->idr_pps_seen = 0;
+    s->new_idr      = s->extradata_parsed;
+}
+
 static const enum AVCodecID codec_ids[] = {
     AV_CODEC_ID_H264, AV_CODEC_ID_NONE,
 };
@@ -289,5 +298,6 @@ const AVBitStreamFilter ff_h264_mp4toannexb_bsf = {
     .priv_data_size = sizeof(H264BSFContext),
     .init           = h264_mp4toannexb_init,
     .filter         = h264_mp4toannexb_filter,
+    .flush          = h264_mp4toannexb_flush,
     .codec_ids      = codec_ids,
 };