libgsm: Fix compilation.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 28 Jan 2012 22:15:02 +0000 (23:15 +0100)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 28 Jan 2012 22:21:03 +0000 (23:21 +0100)
Move libgsm_encode_close before its first use and call it
with the correct number of arguments.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
libavcodec/libgsm.c

index 9193874..1a21455 100644 (file)
 #include "avcodec.h"
 #include "gsm.h"
 
+static av_cold int libgsm_encode_close(AVCodecContext *avctx) {
+    av_freep(&avctx->coded_frame);
+    gsm_destroy(avctx->priv_data);
+    avctx->priv_data = NULL;
+    return 0;
+}
+
 static av_cold int libgsm_encode_init(AVCodecContext *avctx) {
     if (avctx->channels > 1) {
         av_log(avctx, AV_LOG_ERROR, "Mono required for GSM, got %d channels\n",
@@ -77,17 +84,10 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) {
 
     return 0;
 error:
-    libgsm_encode_close();
+    libgsm_encode_close(avctx);
     return -1;
 }
 
-static av_cold int libgsm_encode_close(AVCodecContext *avctx) {
-    av_freep(&avctx->coded_frame);
-    gsm_destroy(avctx->priv_data);
-    avctx->priv_data = NULL;
-    return 0;
-}
-
 static int libgsm_encode_frame(AVCodecContext *avctx,
                                unsigned char *frame, int buf_size, void *data) {
     // we need a full block