Hi Carl, I'm not sure, 0.2.28 doesn't compile on my system. It has been tested with the latest version 0.2.38.
Does the updated patch look better? Josh Signed-off-by: Josh de Kock <j...@itanimul.li> --- libavcodec/libzvbi-teletextdec.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libavcodec/libzvbi-teletextdec.c b/libavcodec/libzvbi-teletextdec.c index d1f0a9f..290e89f 100644 --- a/libavcodec/libzvbi-teletextdec.c +++ b/libavcodec/libzvbi-teletextdec.c @@ -41,6 +41,7 @@ #define BITMAP_CHAR_WIDTH 12 #define BITMAP_CHAR_HEIGHT 10 #define MAX_SLICES 64 +#define VBI_VERSION (VBI_VERSION_MAJOR * 10000 + VBI_VERSION_MINOR * 100 + VBI_VERSION_MICRO) typedef struct TeletextPage { @@ -395,7 +396,11 @@ 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_VERSION >= 234 // 0.2.34 + if (!vbi_event_handler_register(ctx->vbi, VBI_EVENT_TTX_PAGE, handler, ctx)) { +#else if (!vbi_event_handler_add(ctx->vbi, VBI_EVENT_TTX_PAGE, handler, ctx)) { +#endif vbi_decoder_delete(ctx->vbi); ctx->vbi = NULL; return AVERROR(ENOMEM); @@ -524,8 +529,14 @@ 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) { +#if VBI_VERSION >= 234 // 0.2.34 + vbi_event_handler_unregister(ctx->vbi, handler, ctx); +#endif + 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) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel