[FFmpeg-devel] [PATCH] lavc/libzvbi: remove deprecated API usage

Josh de Kock josh at itanimul.li
Sun Feb 12 01:23:24 EET 2017


Signed-off-by: Josh de Kock <josh at itanimul.li>
---
 libavcodec/libzvbi-teletextdec.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/libavcodec/libzvbi-teletextdec.c b/libavcodec/libzvbi-teletextdec.c
index d1f0a9f..2ed4a82 100644
--- a/libavcodec/libzvbi-teletextdec.c
+++ b/libavcodec/libzvbi-teletextdec.c
@@ -395,7 +395,7 @@ static int teletext_decode_frame(AVCodecContext *avctx, void *data, int *data_si
     if (!ctx->vbi) {
         if (!(ctx->vbi = vbi_decoder_new()))
             return AVERROR(ENOMEM);
-        if (!vbi_event_handler_add(ctx->vbi, VBI_EVENT_TTX_PAGE, handler, ctx)) {
+        if (!vbi_event_handler_register(ctx->vbi, VBI_EVENT_TTX_PAGE, handler, ctx)) {
             vbi_decoder_delete(ctx->vbi);
             ctx->vbi = NULL;
             return AVERROR(ENOMEM);
@@ -524,8 +524,12 @@ static int teletext_close_decoder(AVCodecContext *avctx)
         subtitle_rect_free(&ctx->pages[--ctx->nb_pages].sub_rect);
     av_freep(&ctx->pages);
 
-    vbi_decoder_delete(ctx->vbi);
-    ctx->vbi = NULL;
+    if (ctx->vbi) {
+        vbi_event_handler_unregister(ctx->vbi, handler, ctx);
+        vbi_decoder_delete(ctx->vbi);
+        ctx->vbi = NULL;
+    }
+
     ctx->pts = AV_NOPTS_VALUE;
     if (!(avctx->flags2 & AV_CODEC_FLAG2_RO_FLUSH_NOOP))
         ctx->readorder = 0;
-- 
2.10.1 (Apple Git-78)



More information about the ffmpeg-devel mailing list