public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/mediastreamer/files/, media-libs/mediastreamer/
@ 2016-09-05  8:29 Alexis Ballier
  0 siblings, 0 replies; only message in thread
From: Alexis Ballier @ 2016-09-05  8:29 UTC (permalink / raw
  To: gentoo-commits

commit:     a90dcab374205a544499e3fc16dc79a6b1ecd208
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  5 08:29:09 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Sep  5 08:29:18 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a90dcab3

media-libs/mediastreamer: fix build with ffmpeg-3, part of bug #539872

Package-Manager: portage-2.3.0

 .../files/mediastreamer-2.9.0-ffmpeg3.patch        | 482 +++++++++++++++++++++
 .../mediastreamer/mediastreamer-2.9.0-r1.ebuild    |   5 +-
 2 files changed, 485 insertions(+), 2 deletions(-)

diff --git a/media-libs/mediastreamer/files/mediastreamer-2.9.0-ffmpeg3.patch b/media-libs/mediastreamer/files/mediastreamer-2.9.0-ffmpeg3.patch
new file mode 100644
index 00000000..a536270
--- /dev/null
+++ b/media-libs/mediastreamer/files/mediastreamer-2.9.0-ffmpeg3.patch
@@ -0,0 +1,482 @@
+Index: mediastreamer-2.9.0/src/utils/ffmpeg-priv.h
+===================================================================
+--- mediastreamer-2.9.0.orig/src/utils/ffmpeg-priv.h
++++ mediastreamer-2.9.0/src/utils/ffmpeg-priv.h
+@@ -69,9 +69,6 @@ static inline int avcodec_decode_video2(
+ 	return avcodec_decode_video(avctx,picture, got_picture_ptr,avpkt->data,avpkt->size);
+ }
+ #endif
+-#if (LIBAVCODEC_VERSION_MAJOR >= 56)
+-#include <libavcodec/old_codec_ids.h>
+-#endif
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54,25,0)
+ #define CodecID AVCodecID
+ #endif
+Index: mediastreamer-2.9.0/src/videofilters/h264dec.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/videofilters/h264dec.c
++++ mediastreamer-2.9.0/src/videofilters/h264dec.c
+@@ -56,7 +56,7 @@ static void ffmpeg_init(){
+ static void dec_open(DecData *d){
+ 	AVCodec *codec;
+ 	int error;
+-	codec=avcodec_find_decoder(CODEC_ID_H264);
++	codec=avcodec_find_decoder(AV_CODEC_ID_H264);
+ 	if (codec==NULL) ms_fatal("Could not find H264 decoder in ffmpeg.");
+ 	avcodec_get_context_defaults3(&d->av_context, NULL);
+ 	error=avcodec_open2(&d->av_context,codec, NULL);
+@@ -119,7 +119,7 @@ static mblk_t *get_as_yuvmsg(MSFilter *f
+ 		s->outbuf.w=ctx->width;
+ 		s->outbuf.h=ctx->height;
+ 		s->sws_ctx=sws_getContext(ctx->width,ctx->height,ctx->pix_fmt,
+-			ctx->width,ctx->height,PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
++			ctx->width,ctx->height,AV_PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
+                 	NULL, NULL, NULL);
+ 	}
+ #if LIBSWSCALE_VERSION_INT >= AV_VERSION_INT(0,9,0)	
+@@ -272,7 +272,7 @@ static void dec_process(MSFilter *f){
+ 				int len;
+ 				int got_picture=0;
+ 				AVPacket pkt;
+-				avcodec_get_frame_defaults(&orig);
++				av_frame_unref(&orig);
+ 				av_init_packet(&pkt);
+ 				pkt.data = p;
+ 				pkt.size = end-p;
+Index: mediastreamer-2.9.0/src/videofilters/jpegwriter.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/videofilters/jpegwriter.c
++++ mediastreamer-2.9.0/src/videofilters/jpegwriter.c
+@@ -36,9 +36,9 @@ typedef struct {
+ 
+ static void jpg_init(MSFilter *f){
+ 	JpegWriter *s=ms_new0(JpegWriter,1);
+-	s->codec=avcodec_find_encoder(CODEC_ID_MJPEG);
++	s->codec=avcodec_find_encoder(AV_CODEC_ID_MJPEG);
+ 	if (s->codec==NULL){
+-		ms_error("Could not find CODEC_ID_MJPEG !");
++		ms_error("Could not find AV_CODEC_ID_MJPEG !");
+ 	}
+ 	f->data=s;
+ }
+@@ -96,7 +96,7 @@ static void jpg_process(MSFilter *f){
+ 			avctx->height=yuvbuf.h;
+ 			avctx->time_base.num = 1;
+ 			avctx->time_base.den =1;
+-			avctx->pix_fmt=PIX_FMT_YUVJ420P;
++			avctx->pix_fmt=AV_PIX_FMT_YUVJ420P;
+ 
+ 			error=avcodec_open2(avctx,s->codec,NULL);
+ 			if (error!=0) {
+@@ -105,7 +105,7 @@ static void jpg_process(MSFilter *f){
+ 				av_free(avctx);
+ 				return;
+ 			}
+-			sws_ctx=sws_getContext(avctx->width,avctx->height,PIX_FMT_YUV420P,
++			sws_ctx=sws_getContext(avctx->width,avctx->height,AV_PIX_FMT_YUV420P,
+ 				avctx->width,avctx->height,avctx->pix_fmt,SWS_FAST_BILINEAR,NULL, NULL, NULL);
+ 			if (sws_ctx==NULL) {
+ 				ms_error(" sws_getContext() failed.");
+@@ -126,13 +126,18 @@ static void jpg_process(MSFilter *f){
+ 			}
+ 			sws_freeContext(sws_ctx);
+ 			
+-			avcodec_get_frame_defaults(&pict);
++			av_frame_unref(&pict);
+ 			avpicture_fill((AVPicture*)&pict,(uint8_t*)jpegm->b_rptr,avctx->pix_fmt,avctx->width,avctx->height);
+-			error=avcodec_encode_video(avctx, (uint8_t*)comp_buf,comp_buf_sz, &pict);
++			AVPacket pkt;
++			av_init_packet(&pkt);
++			pkt.buf = (uint8_t*)comp_buf;
++			pkt.size = comp_buf_sz;
++			int got_packet;
++			error=avcodec_encode_video2(avctx, &pkt, &pict, &got_packet);
+ 			if (error<0){
+ 				ms_error("Could not encode jpeg picture.");
+-			}else{
+-				if (fwrite(comp_buf,error,1,s->file)>0){
++			}else if(got_packet){
++				if (fwrite(comp_buf,pkt.size,1,s->file)>0){
+ 					ms_message("Snapshot done");
+ 				}else{
+ 					ms_error("Error writing snapshot.");
+Index: mediastreamer-2.9.0/src/videofilters/nowebcam.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/videofilters/nowebcam.c
++++ mediastreamer-2.9.0/src/videofilters/nowebcam.c
+@@ -61,7 +61,7 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf,
+ 	struct SwsContext *sws_ctx;
+ 	AVPacket pkt;
+ 	MSPicture dest;
+-	AVCodec *codec=avcodec_find_decoder(CODEC_ID_MJPEG);
++	AVCodec *codec=avcodec_find_decoder(AV_CODEC_ID_MJPEG);
+ 
+ 	if (codec==NULL){
+ 		ms_error("Could not find MJPEG decoder in ffmpeg.");
+@@ -84,9 +84,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf,
+ 	}
+ 	ret=ms_yuv_buf_alloc(&dest, reqsize->width,reqsize->height);
+ 	/* not using SWS_FAST_BILINEAR because it doesn't play well with
+-	 * av_context.pix_fmt set to PIX_FMT_YUVJ420P by jpeg decoder */
++	 * av_context.pix_fmt set to AV_PIX_FMT_YUVJ420P by jpeg decoder */
+ 	sws_ctx=sws_getContext(av_context.width,av_context.height,av_context.pix_fmt,
+-		reqsize->width,reqsize->height,PIX_FMT_YUV420P,SWS_BILINEAR,
++		reqsize->width,reqsize->height,AV_PIX_FMT_YUV420P,SWS_BILINEAR,
+                 NULL, NULL, NULL);
+ 	if (sws_ctx==NULL) {
+ 		ms_error("jpeg2yuv: ms_sws_getContext() failed.");
+Index: mediastreamer-2.9.0/src/videofilters/videodec.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/videofilters/videodec.c
++++ mediastreamer-2.9.0/src/videofilters/videodec.c
+@@ -40,7 +40,7 @@ typedef struct DecState{
+ 	YuvBuf outbuf;
+ 	mblk_t *yuv_msg;
+ 	struct SwsContext *sws_ctx;
+-	enum PixelFormat output_pix_fmt;
++	enum AVPixelFormat output_pix_fmt;
+ 	uint8_t dci[512];
+ 	int dci_size;
+ 	uint64_t last_error_reported_time;
+@@ -58,7 +58,7 @@ static void dec_init(MSFilter *f, enum C
+ 	s->codec=cid;
+ 	s->input=NULL;
+ 	s->yuv_msg=NULL;
+-	s->output_pix_fmt=PIX_FMT_YUV420P;
++	s->output_pix_fmt=AV_PIX_FMT_YUV420P;
+ 	s->snow_initialized=FALSE;
+ 	s->outbuf.w=0;
+ 	s->outbuf.h=0;
+@@ -77,19 +77,19 @@ static void dec_init(MSFilter *f, enum C
+ }
+ 
+ static void dec_h263_init(MSFilter *f){
+-	dec_init(f,CODEC_ID_H263);
++	dec_init(f,AV_CODEC_ID_H263);
+ }
+ 
+ static void dec_mpeg4_init(MSFilter *f){
+-	dec_init(f,CODEC_ID_MPEG4);
++	dec_init(f,AV_CODEC_ID_MPEG4);
+ }
+ 
+ static void dec_mjpeg_init(MSFilter *f){
+-	dec_init(f,CODEC_ID_MJPEG);
++	dec_init(f,AV_CODEC_ID_MJPEG);
+ }
+ 
+ static void dec_snow_init(MSFilter *f){
+-	dec_init(f,CODEC_ID_SNOW);
++	dec_init(f,AV_CODEC_ID_SNOW);
+ }
+ 
+ static void dec_uninit(MSFilter *f){
+@@ -134,10 +134,10 @@ static void dec_preprocess(MSFilter *f){
+ 	s->first_image_decoded = FALSE;
+ 	if (s->av_context.codec==NULL){
+ 		/* we must know picture size before initializing snow decoder*/
+-		if (s->codec!=CODEC_ID_SNOW){
++		if (s->codec!=AV_CODEC_ID_SNOW){
+ 			error=avcodec_open2(&s->av_context, s->av_codec,NULL);
+ 			if (error!=0) ms_error("avcodec_open2() failed: %i",error);
+-			if (s->codec==CODEC_ID_MPEG4 && s->dci_size>0){
++			if (s->codec==AV_CODEC_ID_MPEG4 && s->dci_size>0){
+ 				s->av_context.extradata=s->dci;
+ 				s->av_context.extradata_size=s->dci_size;
+ 			}
+@@ -643,8 +643,8 @@ static void dec_process_frame(MSFilter *
+ 	
+ 	if (f->desc->id==MS_H263_DEC_ID) inm=skip_rfc2429_header(inm);
+ 	else if (f->desc->id==MS_H263_OLD_DEC_ID) inm=skip_rfc2190_header(inm);
+-	else if (s->codec==CODEC_ID_SNOW && s->input==NULL) inm=parse_snow_header(s,inm);
+-	else if (s->codec==CODEC_ID_MJPEG && f->desc->id==MS_JPEG_DEC_ID) inm=read_rfc2435_header(s,inm);
++	else if (s->codec==AV_CODEC_ID_SNOW && s->input==NULL) inm=parse_snow_header(s,inm);
++	else if (s->codec==AV_CODEC_ID_MJPEG && f->desc->id==MS_JPEG_DEC_ID) inm=read_rfc2435_header(s,inm);
+ 
+ 	if (inm){
+ 		/* accumulate the video packet until we have the rtp markbit*/
+Index: mediastreamer-2.9.0/src/videofilters/videoenc.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/videofilters/videoenc.c
++++ mediastreamer-2.9.0/src/videofilters/videoenc.c
+@@ -223,19 +223,19 @@ static void enc_init(MSFilter *f, enum C
+ }
+ 
+ static void enc_h263_init(MSFilter *f){
+-	enc_init(f,CODEC_ID_H263P);
++	enc_init(f,AV_CODEC_ID_H263P);
+ }
+ 
+ static void enc_mpeg4_init(MSFilter *f){
+-	enc_init(f,CODEC_ID_MPEG4);
++	enc_init(f,AV_CODEC_ID_MPEG4);
+ }
+ 
+ static void enc_snow_init(MSFilter *f){
+-	enc_init(f,CODEC_ID_SNOW);
++	enc_init(f,AV_CODEC_ID_SNOW);
+ }
+ 
+ static void enc_mjpeg_init(MSFilter *f){
+-	enc_init(f,CODEC_ID_MJPEG);
++	enc_init(f,AV_CODEC_ID_MJPEG);
+ }
+ 
+ static void prepare(EncState *s){
+@@ -243,7 +243,7 @@ static void prepare(EncState *s){
+ 	const int max_br_vbv=128000;
+ 
+ 	avcodec_get_context_defaults3(c, NULL);
+-	if (s->codec==CODEC_ID_MJPEG)
++	if (s->codec==AV_CODEC_ID_MJPEG)
+ 	{
+ 		ms_message("Codec bitrate set to %i",c->bit_rate);
+ 		c->width = s->vsize.width;  
+@@ -251,7 +251,7 @@ static void prepare(EncState *s){
+ 		c->time_base.num = 1;
+ 		c->time_base.den = (int)s->fps;
+ 		c->gop_size=(int)s->fps*5; /*emit I frame every 5 seconds*/
+-		c->pix_fmt=PIX_FMT_YUVJ420P;
++		c->pix_fmt=AV_PIX_FMT_YUVJ420P;
+ 		s->comp_buf=allocb(c->bit_rate*2,0);
+ 		return;
+ 	}
+@@ -269,7 +269,7 @@ static void prepare(EncState *s){
+ 
+ 	/* ffmpeg vbv rate control consumes too much cpu above a certain target bitrate.
+ 	We don't use it above max_br_vbv */
+-	if (s->codec!=CODEC_ID_SNOW && s->maxbr<max_br_vbv){
++	if (s->codec!=AV_CODEC_ID_SNOW && s->maxbr<max_br_vbv){
+ 		/*snow does not like 1st pass rate control*/
+ 		c->rc_max_rate=c->bit_rate;
+ 		c->rc_min_rate=0;
+@@ -285,9 +285,9 @@ static void prepare(EncState *s){
+ 	c->time_base.num = 1;
+ 	c->time_base.den = (int)s->fps;
+ 	c->gop_size=(int)s->fps*10; /*emit I frame every 10 seconds*/
+-	c->pix_fmt=PIX_FMT_YUV420P;
++	c->pix_fmt=AV_PIX_FMT_YUV420P;
+ 	s->comp_buf=allocb(c->bit_rate*2,0);
+-	if (s->codec==CODEC_ID_SNOW){
++	if (s->codec==AV_CODEC_ID_SNOW){
+ 		c->strict_std_compliance=-2;
+ 	}
+ 	
+@@ -304,7 +304,7 @@ static void prepare_h263(EncState *s){
+ #endif
+ 	c->rtp_payload_size = s->mtu/2;
+ 	if (s->profile==0){
+-		s->codec=CODEC_ID_H263;
++		s->codec=AV_CODEC_ID_H263;
+ 	}else{
+ 		/*
+ 		c->flags|=CODEC_FLAG_H263P_UMV;
+@@ -313,7 +313,7 @@ static void prepare_h263(EncState *s){
+ 		c->flags|=CODEC_FLAG_OBMC;
+ 		c->flags|=CODEC_FLAG_AC_PRED;
+ 		*/
+-		s->codec=CODEC_ID_H263P;
++		s->codec=AV_CODEC_ID_H263P;
+ 	}
+ }
+ 
+@@ -331,13 +331,13 @@ static void enc_preprocess(MSFilter *f){
+ 	EncState *s=(EncState*)f->data;
+ 	int error;
+ 	prepare(s);
+-	if (s->codec==CODEC_ID_H263P || s->codec==CODEC_ID_H263)
++	if (s->codec==AV_CODEC_ID_H263P || s->codec==AV_CODEC_ID_H263)
+ 		prepare_h263(s);
+-	else if (s->codec==CODEC_ID_MPEG4)
++	else if (s->codec==AV_CODEC_ID_MPEG4)
+ 		prepare_mpeg4(s);
+-	else if (s->codec==CODEC_ID_SNOW){
++	else if (s->codec==AV_CODEC_ID_SNOW){
+ 		/**/
+-	}else if (s->codec==CODEC_ID_MJPEG){
++	}else if (s->codec==AV_CODEC_ID_MJPEG){
+ 		/**/
+ 	}else {
+ 		ms_error("Unsupported codec id %i",s->codec);
+@@ -724,12 +724,12 @@ static void split_and_send(MSFilter *f,
+ 	uint8_t *psc;
+ 	uint32_t timestamp=f->ticker->time*90LL;
+ 	
+-	if (s->codec==CODEC_ID_MPEG4 || s->codec==CODEC_ID_SNOW)
++	if (s->codec==AV_CODEC_ID_MPEG4 || s->codec==AV_CODEC_ID_SNOW)
+ 	{
+ 		mpeg4_fragment_and_send(f,s,frame,timestamp);
+ 		return;
+ 	}
+-	else if (s->codec==CODEC_ID_MJPEG)
++	else if (s->codec==AV_CODEC_ID_MJPEG)
+ 	{
+ 		mblk_t *lqt=NULL;
+ 		mblk_t *cqt=NULL;
+@@ -765,7 +765,7 @@ static void split_and_send(MSFilter *f,
+ 
+ static void process_frame(MSFilter *f, mblk_t *inm){
+ 	EncState *s=(EncState*)f->data;
+-	AVFrame pict;
++	AVFrame pict = {};
+ 	AVCodecContext *c=&s->av_context;
+ 	int error;
+ 	mblk_t *comp_buf=s->comp_buf;
+@@ -774,7 +774,7 @@ static void process_frame(MSFilter *f, m
+ 
+ 	ms_yuv_buf_init_from_mblk(&yuv, inm);
+ 	/* convert image if necessary */
+-	avcodec_get_frame_defaults(&pict);
++	av_frame_unref(&pict);
+ 	avpicture_fill((AVPicture*)&pict,yuv.planes[0],c->pix_fmt,c->width,c->height);
+ 	
+ 	/* timestamp used by ffmpeg, unset here */
+@@ -789,7 +789,7 @@ static void process_frame(MSFilter *f, m
+ 		s->req_vfu=FALSE;
+ 	}
+ 	comp_buf->b_rptr=comp_buf->b_wptr=comp_buf->b_datap->db_base;
+-	if (s->codec==CODEC_ID_SNOW){
++	if (s->codec==AV_CODEC_ID_SNOW){
+ 		//prepend picture size
+ 		uint32_t header=((s->vsize.width&0xffff)<<16) | (s->vsize.height&0xffff);
+ 		*(uint32_t*)comp_buf->b_wptr=htonl(header);
+@@ -797,10 +797,15 @@ static void process_frame(MSFilter *f, m
+ 		comp_buf_sz-=4;
+ 	}
+ 
+-	error=avcodec_encode_video(c, (uint8_t*)comp_buf->b_wptr,comp_buf_sz, &pict);
++	AVPacket pkt;
++	av_init_packet(&pkt);
++	pkt.data = (uint8_t*)comp_buf->b_wptr;
++	pkt.size = comp_buf_sz;
++	int got_packet;
++	error=avcodec_encode_video2(c, &pkt, &pict, &got_packet);
+ 
+ 	if (error<=0) ms_warning("ms_AVencoder_process: error %i.",error);
+-	else{
++	else if(got_packet){
+ 		s->framenum++;
+ 		if (s->framenum==1){
+ 			video_starter_first_frame (&s->starter,f->ticker->time);
+@@ -808,7 +813,7 @@ static void process_frame(MSFilter *f, m
+ 		if (c->coded_frame->pict_type==FF_I_TYPE){
+ 			ms_message("Emitting I-frame");
+ 		}
+-		comp_buf->b_wptr+=error;
++		comp_buf->b_wptr+=pkt.size;
+ 		split_and_send(f,s,comp_buf);
+ 	}
+ 	freemsg(inm);
+@@ -837,7 +842,7 @@ static int enc_get_br(MSFilter *f, void
+ 
+ static int enc_set_br(MSFilter *f, void *arg){
+ 	EncState *s=(EncState*)f->data;
+-	bool_t snow=s->codec==CODEC_ID_SNOW;
++	bool_t snow=s->codec==AV_CODEC_ID_SNOW;
+ 	s->maxbr=*(int*)arg;
+ 	if (s->av_context.codec!=NULL){
+ 		/*when we are processing, apply new settings immediately*/
+@@ -847,11 +852,11 @@ static int enc_set_br(MSFilter *f, void
+ 		ms_filter_unlock(f);
+ 		return 0;
+ 	}
+-	if (s->maxbr>=1024000 && s->codec!=CODEC_ID_H263P){
++	if (s->maxbr>=1024000 && s->codec!=AV_CODEC_ID_H263P){
+ 		s->vsize.width = MS_VIDEO_SIZE_SVGA_W;
+ 		s->vsize.height = MS_VIDEO_SIZE_SVGA_H;
+ 		s->fps=25;
+-	}else if (s->maxbr>=800000 && s->codec!=CODEC_ID_H263P){
++	}else if (s->maxbr>=800000 && s->codec!=AV_CODEC_ID_H263P){
+ 		s->vsize.width = MS_VIDEO_SIZE_VGA_W;
+ 		s->vsize.height = MS_VIDEO_SIZE_VGA_H;
+ 		s->fps=25;
+@@ -864,7 +869,7 @@ static int enc_set_br(MSFilter *f, void
+ 		s->vsize.height=MS_VIDEO_SIZE_CIF_H;
+ 		s->fps=17;
+ 		s->qmin=3;
+-	}else if (s->maxbr>=170000 && s->codec!=CODEC_ID_H263P && s->codec!=CODEC_ID_H263){
++	}else if (s->maxbr>=170000 && s->codec!=AV_CODEC_ID_H263P && s->codec!=AV_CODEC_ID_H263){
+ 		s->vsize.width=MS_VIDEO_SIZE_QVGA_W;
+ 		s->vsize.height=MS_VIDEO_SIZE_QVGA_H;
+ 		s->fps=15;
+@@ -1075,15 +1080,15 @@ MSFilterDesc ms_mjpeg_enc_desc={
+ 
+ void __register_ffmpeg_encoders_if_possible(void){
+ 	ms_ffmpeg_check_init();
+-	if (avcodec_find_encoder(CODEC_ID_MPEG4))
++	if (avcodec_find_encoder(AV_CODEC_ID_MPEG4))
+ 		ms_filter_register(&ms_mpeg4_enc_desc);
+-	if (avcodec_find_encoder(CODEC_ID_H263)){
++	if (avcodec_find_encoder(AV_CODEC_ID_H263)){
+ 		ms_filter_register(&ms_h263_enc_desc);
+ 		ms_filter_register(&ms_h263_old_enc_desc);
+ 	}
+-	if (avcodec_find_encoder(CODEC_ID_SNOW))
++	if (avcodec_find_encoder(AV_CODEC_ID_SNOW))
+ 		ms_filter_register(&ms_snow_enc_desc);
+-	if (avcodec_find_encoder(CODEC_ID_MJPEG))
++	if (avcodec_find_encoder(AV_CODEC_ID_MJPEG))
+ 	{
+ 		ms_filter_register(&ms_mjpeg_enc_desc);
+ 	}
+Index: mediastreamer-2.9.0/src/voip/msvideo.c
+===================================================================
+--- mediastreamer-2.9.0.orig/src/voip/msvideo.c
++++ mediastreamer-2.9.0/src/voip/msvideo.c
+@@ -351,21 +351,21 @@ void ms_rgb_to_yuv(const uint8_t rgb[3],
+ int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
+ 	switch(fmt){
+ 		case MS_RGBA32:
+-			return PIX_FMT_RGBA;
++			return AV_PIX_FMT_RGBA;
+ 		case MS_RGB24:
+-			return PIX_FMT_RGB24;
++			return AV_PIX_FMT_RGB24;
+ 		case MS_RGB24_REV:
+-			return PIX_FMT_BGR24;
++			return AV_PIX_FMT_BGR24;
+ 		case MS_YUV420P:
+-			return PIX_FMT_YUV420P;
++			return AV_PIX_FMT_YUV420P;
+ 		case MS_YUYV:
+-			return PIX_FMT_YUYV422;
++			return AV_PIX_FMT_YUYV422;
+ 		case MS_UYVY:
+-			return PIX_FMT_UYVY422;
++			return AV_PIX_FMT_UYVY422;
+ 		case MS_YUY2:
+-			return PIX_FMT_YUYV422;   /* <- same as MS_YUYV */
++			return AV_PIX_FMT_YUYV422;   /* <- same as MS_YUYV */
+ 		case MS_RGB565:
+-			return PIX_FMT_RGB565;
++			return AV_PIX_FMT_RGB565;
+ 		default:
+ 			ms_fatal("format not supported.");
+ 			return -1;
+@@ -375,19 +375,19 @@ int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
+ 
+ MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt){
+ 	switch(fmt){
+-		case PIX_FMT_RGB24:
++		case AV_PIX_FMT_RGB24:
+ 			return MS_RGB24;
+-		case PIX_FMT_BGR24:
++		case AV_PIX_FMT_BGR24:
+ 			return MS_RGB24_REV;
+-		case PIX_FMT_YUV420P:
++		case AV_PIX_FMT_YUV420P:
+ 			return MS_YUV420P;
+-		case PIX_FMT_YUYV422:
++		case AV_PIX_FMT_YUYV422:
+ 			return MS_YUYV;     /* same as MS_YUY2 */
+-		case PIX_FMT_UYVY422:
++		case AV_PIX_FMT_UYVY422:
+ 			return MS_UYVY;
+-		case PIX_FMT_RGBA:
++		case AV_PIX_FMT_RGBA:
+ 			return MS_RGBA32;
+-		case PIX_FMT_RGB565:
++		case AV_PIX_FMT_RGB565:
+ 			return MS_RGB565;
+ 		default:
+ 			ms_fatal("format not supported.");

diff --git a/media-libs/mediastreamer/mediastreamer-2.9.0-r1.ebuild b/media-libs/mediastreamer/mediastreamer-2.9.0-r1.ebuild
index 71a94d1..1b1abb8 100644
--- a/media-libs/mediastreamer/mediastreamer-2.9.0-r1.ebuild
+++ b/media-libs/mediastreamer/mediastreamer-2.9.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -100,7 +100,8 @@ src_prepare() {
 		"${FILESDIR}/${P}-libav9.patch" \
 		"${FILESDIR}/${P}-underlinking.patch" \
 		"${FILESDIR}/${P}-tests.patch" \
-		"${FILESDIR}/${P}-xxd.patch"
+		"${FILESDIR}/${P}-xxd.patch" \
+		"${FILESDIR}/${P}-ffmpeg3.patch"
 
 	eautoreconf
 }


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-09-05  8:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-05  8:29 [gentoo-commits] repo/gentoo:master commit in: media-libs/mediastreamer/files/, media-libs/mediastreamer/ Alexis Ballier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox