summaryrefslogtreecommitdiff
path: root/contrib/ffmpeg/libavcodec/a52dec.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ffmpeg/libavcodec/a52dec.c')
-rw-r--r--contrib/ffmpeg/libavcodec/a52dec.c20
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,