diff options
Diffstat (limited to 'contrib/ffmpeg/libavcodec/a52dec.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/a52dec.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/contrib/ffmpeg/libavcodec/a52dec.c b/contrib/ffmpeg/libavcodec/a52dec.c index dec25138e..c2da2283d 100644 --- a/contrib/ffmpeg/libavcodec/a52dec.c +++ b/contrib/ffmpeg/libavcodec/a52dec.c @@ -1,5 +1,5 @@ /* - * A52 decoder + * A52 decoder using liba52 * Copyright (c) 2001 Fabrice Bellard. * * This file is part of FFmpeg. @@ -21,13 +21,13 @@ /** * @file a52dec.c - * A52 decoder. + * A52 decoder using liba52 */ #include "avcodec.h" -#include "liba52/a52.h" +#include <a52dec/a52.h> -#ifdef CONFIG_A52BIN +#ifdef CONFIG_LIBA52BIN #include <dlfcn.h> static const char* liba52name = "liba52.so.0"; #endif @@ -70,7 +70,7 @@ typedef struct AC3DecodeState { } AC3DecodeState; -#ifdef CONFIG_A52BIN +#ifdef CONFIG_LIBA52BIN static void* dlsymm(void* handle, const char* symbol) { void* f = dlsym(handle, symbol); @@ -84,7 +84,7 @@ static int a52_decode_init(AVCodecContext *avctx) { AC3DecodeState *s = avctx->priv_data; -#ifdef CONFIG_A52BIN +#ifdef CONFIG_LIBA52BIN s->handle = dlopen(liba52name, RTLD_LAZY); if (!s->handle) { @@ -104,7 +104,6 @@ static int a52_decode_init(AVCodecContext *avctx) return -1; } #else - /* static linked version */ s->handle = 0; s->a52_init = a52_init; s->a52_samples = a52_samples; @@ -162,6 +161,8 @@ static int a52_decode_frame(AVCodecContext *avctx, 2, 1, 2, 3, 3, 4, 4, 5 }; + *data_size= 0; + buf_ptr = buf; while (buf_size > 0) { len = s->inbuf_ptr - s->inbuf; @@ -217,6 +218,7 @@ static int a52_decode_frame(AVCodecContext *avctx, level = 1; if (s->a52_frame(s->state, s->inbuf, &flags, &level, 384)) { fail: + av_log(avctx, AV_LOG_ERROR, "Error decoding frame\n"); s->inbuf_ptr = s->inbuf; s->frame_size = 0; continue; @@ -239,13 +241,13 @@ static int a52_decode_end(AVCodecContext *avctx) { AC3DecodeState *s = avctx->priv_data; s->a52_free(s->state); -#ifdef CONFIG_A52BIN +#ifdef CONFIG_LIBA52BIN dlclose(s->handle); #endif return 0; } -AVCodec ac3_decoder = { +AVCodec liba52_decoder = { "ac3", CODEC_TYPE_AUDIO, CODEC_ID_AC3, |