avcodec/bsf: add a flushing mechanism to AVBSFContext
[ffmpeg.git] / libavcodec / bsf.c
index bd611ea16b0e7da1e675b40c046a87b488a35754..03841da682a729de8d8b5a0c2017fb1ea522a1bb 100644 (file)
@@ -172,6 +172,16 @@ int av_bsf_init(AVBSFContext *ctx)
     return 0;
 }
 
+void av_bsf_flush(AVBSFContext *ctx)
+{
+    ctx->internal->eof = 0;
+
+    av_packet_unref(ctx->internal->buffer_pkt);
+
+    if (ctx->filter->flush)
+        ctx->filter->flush(ctx);
+}
+
 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
 {
     int ret;