Fix linphone compile with newer ffmpeg versions, downloaded from
https://github.com/dankamongmen/mediastreamer2/commit/4f438eb8e132a3119284be771e0daad143597ebd
http://autobuild.buildroot.net/results/b72/b72b1f6287986af3d686cc3c8b9c1b3fd9419d29/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
From 4f438eb8e132a3119284be771e0daad143597ebd Mon Sep 17 00:00:00 2001
From: nick black <nick.black@sprezzatech.com>
Date: Mon, 28 Jan 2013 23:54:17 -0500
Subject: [PATCH] adapt to new libav API
src/utils/ffmpeg-priv.h | 1 +
src/videofilters/h264dec.c | 6 +++---
src/videofilters/jpegwriter.c | 6 +++---
src/videofilters/nowebcam.c | 6 +++---
src/videofilters/videodec.c | 8 ++++----
src/videofilters/videoenc.c | 6 +++---
6 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/src/utils/ffmpeg-priv.h b/src/utils/ffmpeg-priv.h
index 0eab098..a405c05 100644
--- a/src/utils/ffmpeg-priv.h
+++ b/src/utils/ffmpeg-priv.h
@@ -35,6 +35,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# include <libavcodec/avcodec.h>
# include <libavutil/avutil.h>
+# include <libavutil/mem.h>
# include <ffmpeg/avcodec.h>
diff --git a/src/videofilters/h264dec.c b/src/videofilters/h264dec.c
index 5229b5e..7059634 100644
--- a/src/videofilters/h264dec.c
+++ b/src/videofilters/h264dec.c
@@ -58,10 +58,10 @@ static void dec_open(DecData *d){
codec=avcodec_find_decoder(CODEC_ID_H264);
if (codec==NULL) ms_fatal("Could not find H264 decoder in ffmpeg.");
- avcodec_get_context_defaults(&d->av_context);
- error=avcodec_open(&d->av_context,codec);
+ avcodec_get_context_defaults3(&d->av_context, codec);
+ error=avcodec_open2(&d->av_context,codec, NULL);
- ms_fatal("avcodec_open() failed.");
+ ms_fatal("avcodec_open2() failed.");
diff --git a/src/videofilters/jpegwriter.c b/src/videofilters/jpegwriter.c
index cca79c5..daf3cdb 100644
--- a/src/videofilters/jpegwriter.c
+++ b/src/videofilters/jpegwriter.c
@@ -90,7 +90,7 @@ static void jpg_process(MSFilter *f){
struct SwsContext *sws_ctx;
- AVCodecContext *avctx=avcodec_alloc_context();
+ AVCodecContext *avctx=avcodec_alloc_context3(NULL);
@@ -98,9 +98,9 @@ static void jpg_process(MSFilter *f){
avctx->pix_fmt=PIX_FMT_YUVJ420P;
- error=avcodec_open(avctx,s->codec);
+ error=avcodec_open2(avctx,s->codec,NULL);
- ms_error("avcodec_open() failed: %i",error);
+ ms_error("avcodec_open2() failed: %i",error);
diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c
index f1c10de..b45f89f 100644
--- a/src/videofilters/nowebcam.c
+++ b/src/videofilters/nowebcam.c
@@ -68,9 +68,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf, int bufsize, MSVideoSize *reqsize){
- avcodec_get_context_defaults(&av_context);
- if (avcodec_open(&av_context,codec)<0){
- ms_error("jpeg2yuv: avcodec_open failed");
+ avcodec_get_context_defaults3(&av_context,NULL);
+ if (avcodec_open2(&av_context,codec,NULL)<0){
+ ms_error("jpeg2yuv: avcodec_open2 failed");