|
@@ -1,156 +0,0 @@
|
|
-Fix linphone compile with newer ffmpeg versions, downloaded from
|
|
|
|
-https://github.com/dankamongmen/mediastreamer2/commit/4f438eb8e132a3119284be771e0daad143597ebd
|
|
|
|
-
|
|
|
|
-Fixes
|
|
|
|
-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.
|
|
|
|
- /* new layout */
|
|
|
|
- # include <libavcodec/avcodec.h>
|
|
|
|
- # include <libavutil/avutil.h>
|
|
|
|
-+# include <libavutil/mem.h>
|
|
|
|
- #else
|
|
|
|
- /* old layout */
|
|
|
|
- # 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){
|
|
|
|
- int error;
|
|
|
|
- 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);
|
|
|
|
- if (error!=0){
|
|
|
|
-- 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){
|
|
|
|
- mblk_t *jpegm;
|
|
|
|
- struct SwsContext *sws_ctx;
|
|
|
|
-
|
|
|
|
-- AVCodecContext *avctx=avcodec_alloc_context();
|
|
|
|
-+ AVCodecContext *avctx=avcodec_alloc_context3(NULL);
|
|
|
|
-
|
|
|
|
- avctx->width=yuvbuf.w;
|
|
|
|
- avctx->height=yuvbuf.h;
|
|
|
|
-@@ -98,9 +98,9 @@ static void jpg_process(MSFilter *f){
|
|
|
|
- avctx->time_base.den =1;
|
|
|
|
- avctx->pix_fmt=PIX_FMT_YUVJ420P;
|
|
|
|
-
|
|
|
|
-- error=avcodec_open(avctx,s->codec);
|
|
|
|
-+ error=avcodec_open2(avctx,s->codec,NULL);
|
|
|
|
- if (error!=0) {
|
|
|
|
-- ms_error("avcodec_open() failed: %i",error);
|
|
|
|
-+ ms_error("avcodec_open2() failed: %i",error);
|
|
|
|
- cleanup(s,NULL);
|
|
|
|
- av_free(avctx);
|
|
|
|
- return;
|
|
|
|
-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){
|
|
|
|
- return NULL;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-- 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");
|
|
|
|
- return NULL;
|
|
|
|
- }
|
|
|
|
- av_init_packet(&pkt);
|
|
|
|
-diff --git a/src/videofilters/videodec.c b/src/videofilters/videodec.c
|
|
|
|
-index 9807214..2f1b452 100644
|
|
|
|
---- a/src/videofilters/videodec.c
|
|
|
|
-+++ b/src/videofilters/videodec.c
|
|
|
|
-@@ -53,7 +53,7 @@ static void dec_init(MSFilter *f, enum CodecID cid){
|
|
|
|
- DecState *s=(DecState *)ms_new0(DecState,1);
|
|
|
|
- ms_ffmpeg_check_init();
|
|
|
|
-
|
|
|
|
-- avcodec_get_context_defaults(&s->av_context);
|
|
|
|
-+ avcodec_get_context_defaults3(&s->av_context,NULL);
|
|
|
|
- s->av_codec=NULL;
|
|
|
|
- s->codec=cid;
|
|
|
|
- s->input=NULL;
|
|
|
|
-@@ -135,7 +135,7 @@ static void dec_preprocess(MSFilter *f){
|
|
|
|
- if (s->av_context.codec==NULL){
|
|
|
|
- /* we must know picture size before initializing snow decoder*/
|
|
|
|
- if (s->codec!=CODEC_ID_SNOW){
|
|
|
|
-- error=avcodec_open(&s->av_context, s->av_codec);
|
|
|
|
-+ error=avcodec_open2(&s->av_context, s->av_codec, NULL);
|
|
|
|
- if (error!=0) ms_error("avcodec_open() failed: %i",error);
|
|
|
|
- if (s->codec==CODEC_ID_MPEG4 && s->dci_size>0){
|
|
|
|
- s->av_context.extradata=s->dci;
|
|
|
|
-@@ -225,8 +225,8 @@ static mblk_t * parse_snow_header(DecState *s,mblk_t *inm){
|
|
|
|
- int error;
|
|
|
|
- s->av_context.width=h>>16;
|
|
|
|
- s->av_context.height=h&0xffff;
|
|
|
|
-- error=avcodec_open(&s->av_context, s->av_codec);
|
|
|
|
-- if (error!=0) ms_error("avcodec_open() failed for snow: %i",error);
|
|
|
|
-+ error=avcodec_open2(&s->av_context, s->av_codec, NULL);
|
|
|
|
-+ if (error!=0) ms_error("avcodec_open2() failed for snow: %i",error);
|
|
|
|
- else {
|
|
|
|
- s->snow_initialized=TRUE;
|
|
|
|
- ms_message("Snow decoder initialized,size=%ix%i",
|
|
|
|
-diff --git a/src/videofilters/videoenc.c b/src/videofilters/videoenc.c
|
|
|
|
-index da35592..4101772 100644
|
|
|
|
---- a/src/videofilters/videoenc.c
|
|
|
|
-+++ b/src/videofilters/videoenc.c
|
|
|
|
-@@ -242,7 +242,7 @@ static void prepare(EncState *s){
|
|
|
|
- AVCodecContext *c=&s->av_context;
|
|
|
|
- const int max_br_vbv=128000;
|
|
|
|
-
|
|
|
|
-- avcodec_get_context_defaults(c);
|
|
|
|
-+ avcodec_get_context_defaults3(c,NULL);
|
|
|
|
- if (s->codec==CODEC_ID_MJPEG)
|
|
|
|
- {
|
|
|
|
- ms_message("Codec bitrate set to %i",c->bit_rate);
|
|
|
|
-@@ -348,9 +348,9 @@ static void enc_preprocess(MSFilter *f){
|
|
|
|
- ms_error("could not find encoder for codec id %i",s->codec);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-- error=avcodec_open(&s->av_context, s->av_codec);
|
|
|
|
-+ error=avcodec_open2(&s->av_context, s->av_codec, NULL);
|
|
|
|
- if (error!=0) {
|
|
|
|
-- ms_error("avcodec_open() failed: %i",error);
|
|
|
|
-+ ms_error("avcodec_open2() failed: %i",error);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- video_starter_init(&s->starter);
|
|
|
|
---
|
|
|
|
-2.0.3
|
|
|
|
-
|
|
|