]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/a52dec.c
make HTTP MOVED messages also work in ffmpeg (302 is essentially the same as 303).
[ffmpeg] / libavcodec / a52dec.c
index 5226325ab607ae6f6016416ff582dc6d9385a6b0..c2da2283d9d8ed0569fd316efd32996f12c7820a 100644 (file)
@@ -1,31 +1,33 @@
 /*
- * A52 decoder
+ * A52 decoder using liba52
  * Copyright (c) 2001 Fabrice Bellard.
  *
- * This library is free software; you can redistribute it and/or
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
  *
- * This library is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 /**
  * @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
@@ -68,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);
@@ -82,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)
     {
@@ -102,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;
@@ -160,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;
@@ -215,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;
@@ -237,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,