Date: Wednesday, February 17, 2016 @ 21:30:02
  Author: arojas
Revision: 162119

ffmpeg 3.0 rebuild

Added:
  gpac/trunk/gpac-ffmpeg3.patch
Modified:
  gpac/trunk/PKGBUILD

--------------------+
 PKGBUILD           |   13 +
 gpac-ffmpeg3.patch |  438 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 448 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-02-17 20:28:08 UTC (rev 162118)
+++ PKGBUILD    2016-02-17 20:30:02 UTC (rev 162119)
@@ -3,7 +3,7 @@
 
 pkgname=gpac
 pkgver=0.5.2
-pkgrel=4
+pkgrel=5
 epoch=1
 pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
 arch=('i686' 'x86_64')
@@ -17,9 +17,16 @@
            'libmad: for mp3 support'
            'sdl2: for sdl support')
 options=('staticlibs' '!makeflags')
-source=(git://github.com/gpac/gpac.git#tag=v$pkgver)
-sha1sums=('SKIP')
+source=(git://github.com/gpac/gpac.git#tag=v$pkgver gpac-ffmpeg3.patch)
+sha1sums=('SKIP'
+          '2ce98b1d8aa2f8091c6581d189470250502484e7')
 
+prepare() {
+  cd $pkgname
+# Fix build with ffmpeg 3.0 (Gentoo)
+  patch -p1 -i ../gpac-ffmpeg3.patch
+}
+
 build() {
   cd ${pkgname}
   ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no

Added: gpac-ffmpeg3.patch
===================================================================
--- gpac-ffmpeg3.patch                          (rev 0)
+++ gpac-ffmpeg3.patch  2016-02-17 20:30:02 UTC (rev 162119)
@@ -0,0 +1,438 @@
+Index: gpac-0.5.2/modules/ffmpeg_in/ffmpeg_decode.c
+===================================================================
+--- gpac-0.5.2.orig/modules/ffmpeg_in/ffmpeg_decode.c
++++ gpac-0.5.2/modules/ffmpeg_in/ffmpeg_decode.c
+@@ -102,7 +102,7 @@ static void FFDEC_LoadDSI(FFDec *ffd, GF
+       }
+ 
+       switch (codec->id) {
+-      case CODEC_ID_SVQ3:
++      case AV_CODEC_ID_SVQ3:
+       {
+               u32 at_type, size;
+               size = gf_bs_read_u32(bs);
+@@ -240,10 +240,10 @@ static GF_Err FFDEC_AttachStream(GF_Base
+                       (*ctx)->codec_type = AVMEDIA_TYPE_VIDEO;
+                       switch (ffd->oti) {
+                       case GPAC_OTI_VIDEO_MPEG4_PART2:
+-                              codec_id = CODEC_ID_MPEG4;
++                              codec_id = AV_CODEC_ID_MPEG4;
+                               break;
+                       case GPAC_OTI_VIDEO_AVC:
+-                              codec_id = CODEC_ID_H264;
++                              codec_id = AV_CODEC_ID_H264;
+                               break;
+ #ifdef HAS_HEVC
+                       case GPAC_OTI_VIDEO_HEVC:
+@@ -257,14 +257,14 @@ static GF_Err FFDEC_AttachStream(GF_Base
+                       case GPAC_OTI_VIDEO_MPEG2_SPATIAL:
+                       case GPAC_OTI_VIDEO_MPEG2_HIGH:
+                       case GPAC_OTI_VIDEO_MPEG2_422:
+-                              codec_id = CODEC_ID_MPEG2VIDEO;
++                              codec_id = AV_CODEC_ID_MPEG2VIDEO;
+                               break;
+                       case GPAC_OTI_IMAGE_JPEG:
+-                              codec_id = CODEC_ID_MJPEG;
++                              codec_id = AV_CODEC_ID_MJPEG;
+                               ffd->is_image=1;
+                               break;
+                       case 0xFF:
+-                              codec_id = CODEC_ID_SVQ3;
++                              codec_id = AV_CODEC_ID_SVQ3;
+                               break;
+                       }
+               } else if (ffd->st==GF_STREAM_AUDIO) {
+@@ -273,18 +273,18 @@ static GF_Err FFDEC_AttachStream(GF_Base
+                       case GPAC_OTI_AUDIO_MPEG2_PART3:
+                       case GPAC_OTI_AUDIO_MPEG1:
+                               (*ctx)->frame_size = 1152;
+-                              codec_id = CODEC_ID_MP2;
++                              codec_id = AV_CODEC_ID_MP2;
+                               break;
+                       case GPAC_OTI_AUDIO_AC3:
+-                              codec_id = CODEC_ID_AC3;
++                              codec_id = AV_CODEC_ID_AC3;
+                               break;
+                       case GPAC_OTI_AUDIO_EAC3:
+-                              codec_id = CODEC_ID_EAC3;
++                              codec_id = AV_CODEC_ID_EAC3;
+                               break;
+                       }
+               }
+               else if ((ffd->st==GF_STREAM_ND_SUBPIC) && (ffd->oti==0xe0)) {
+-                      codec_id = CODEC_ID_DVD_SUBTITLE;
++                      codec_id = AV_CODEC_ID_DVD_SUBTITLE;
+               }
+               *codec = avcodec_find_decoder(codec_id);
+       }
+@@ -375,8 +375,8 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ #endif //HAS_HEVC
+       if (!ffd->output_cb_size) ffd->output_cb_size = 4;
+ 
+-      if (codec_id == CODEC_ID_RAWVIDEO) {
+-              (*ctx)->codec_id = CODEC_ID_RAWVIDEO;
++      if (codec_id == AV_CODEC_ID_RAWVIDEO) {
++              (*ctx)->codec_id = AV_CODEC_ID_RAWVIDEO;
+               (*ctx)->pix_fmt = ffd->raw_pix_fmt;
+               if ((*ctx)->extradata && strstr((char *) (*ctx)->extradata, 
"BottomUp")) ffd->flipped = 1;
+       } else {
+@@ -388,7 +388,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+       }
+       /*setup audio streams*/
+       if (ffd->st==GF_STREAM_AUDIO) {
+-              if ((*codec)->id == CODEC_ID_MP2) {
++              if ((*codec)->id == AV_CODEC_ID_MP2) {
+                       (*ctx)->frame_size = ((*ctx)->sample_rate > 24000) ? 
1152 : 576;
+               }
+               /*may be 0 (cfg not known yet)*/
+@@ -408,17 +408,17 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 
+       } else {
+               switch ((*codec)->id) {
+-              case CODEC_ID_MJPEG:
+-              case CODEC_ID_MJPEGB:
+-              case CODEC_ID_LJPEG:
++              case AV_CODEC_ID_MJPEG:
++              case AV_CODEC_ID_MJPEGB:
++              case AV_CODEC_ID_LJPEG:
+ #if (LIBAVCODEC_VERSION_INT > AV_VERSION_INT(51, 20, 0))
+-              case CODEC_ID_GIF:
++              case AV_CODEC_ID_GIF:
+ #endif
+-              case CODEC_ID_RAWVIDEO:
++              case AV_CODEC_ID_RAWVIDEO:
+                       ffd->pix_fmt = GF_PIXEL_RGB_24;
+                       break;
+ 
+-              case CODEC_ID_DVD_SUBTITLE:
++              case AV_CODEC_ID_DVD_SUBTITLE:
+ #if !defined(FF_API_AVFRAME_LAVC)
+                       *frame = avcodec_alloc_frame();
+ #else
+@@ -843,7 +843,7 @@ redecode:
+       }
+ 
+ 
+-      if ( ctx->codec_id == CODEC_ID_RAWVIDEO) {
++      if ( ctx->codec_id == AV_CODEC_ID_RAWVIDEO) {
+               if (*outBufferLength != ffd->out_size) {
+                       *outBufferLength = ffd->out_size;
+                       return GF_BUFFER_TOO_SMALL;
+@@ -852,7 +852,7 @@ redecode:
+                       *outBufferLength = ffd->out_size;
+                       assert(inBufferLength==ffd->out_size);
+ 
+-                      if (ffd->raw_pix_fmt==PIX_FMT_BGR24) {
++                      if (ffd->raw_pix_fmt==AV_PIX_FMT_BGR24) {
+                               s32 i, j;
+                               for (j=0; j<ctx->height; j++) {
+                                       u8 *src = (u8 *) inBuffer + 
j*3*ctx->width;
+@@ -940,7 +940,7 @@ redecode:
+                               /*OK we loose the DSI stored in the codec 
context, but H263 doesn't need any, and if we're
+                               here this means the DSI was broken, so no big 
deal*/
+                               avcodec_close(ctx);
+-                              *codec = avcodec_find_decoder(CODEC_ID_H263);
++                              *codec = avcodec_find_decoder(AV_CODEC_ID_H263);
+ 
+ #ifdef USE_AVCTX3
+                               if (! (*codec) || (avcodec_open2(ctx, *codec, 
NULL)<0)) return GF_NON_COMPLIANT_BITSTREAM;
+@@ -991,7 +991,7 @@ redecode:
+ 
+       stride = frame->linesize[0];
+ #ifndef NO_10bit
+-      if ((ctx->pix_fmt == PIX_FMT_YUV420P10LE) && ffd->output_as_8bit && 
(frame->linesize[0] >= 2*w) )  {
++      if ((ctx->pix_fmt == AV_PIX_FMT_YUV420P10LE) && ffd->output_as_8bit && 
(frame->linesize[0] >= 2*w) )  {
+               ffd->conv_to_8bit = 1;
+               stride=w;
+       }
+@@ -1000,7 +1000,7 @@ redecode:
+       /*recompute outsize in case on-the-fly change*/
+       if ((w != ctx->width) || (h != ctx->height)
+               || (ffd->direct_output && (stride != ffd->stride))
+-              || ((ffd->out_pix_fmt==GF_PIXEL_YV12) && (ctx->pix_fmt != 
PIX_FMT_YUV420P) && !ffd->output_as_8bit )
++              || ((ffd->out_pix_fmt==GF_PIXEL_YV12) && (ctx->pix_fmt != 
AV_PIX_FMT_YUV420P) && !ffd->output_as_8bit )
+               //need to realloc the conversion buffer
+               || (ffd->conv_to_8bit && !ffd->conv_buffer && 
ffd->direct_output)
+          ) {
+@@ -1011,7 +1011,7 @@ redecode:
+               }
+ #ifndef NO_10bit
+               //this YUV format is handled natively in GPAC
+-              else if ((ctx->pix_fmt == PIX_FMT_YUV420P10LE) && 
!ffd->output_as_8bit) {
++              else if ((ctx->pix_fmt == AV_PIX_FMT_YUV420P10LE) && 
!ffd->output_as_8bit) {
+                       ffd->stride = ffd->direct_output ? frame->linesize[0] : 
ctx->width*2;
+                       outsize = ffd->stride * ctx->height * 3 / 2;
+                       ffd->out_pix_fmt = GF_PIXEL_YV12_10;
+@@ -1157,23 +1157,20 @@ redecode:
+       if (ffd->out_pix_fmt==GF_PIXEL_RGB_24) {
+               pict.data[0] =  (uint8_t *)outBuffer;
+               pict.linesize[0] = 3*ctx->width;
+-              pix_out = PIX_FMT_RGB24;
++              pix_out = AV_PIX_FMT_RGB24;
+       } else {
+               pict.data[0] =  (uint8_t *)outBuffer;
+               pict.data[1] =  (uint8_t *)outBuffer + ffd->stride * 
ctx->height;
+               pict.data[2] =  (uint8_t *)outBuffer + 5 * ffd->stride * 
ctx->height / 4;
+               pict.linesize[0] = ffd->stride;
+               pict.linesize[1] = pict.linesize[2] = ffd->stride/2;
+-              pix_out = PIX_FMT_YUV420P;
++              pix_out = AV_PIX_FMT_YUV420P;
+ #ifndef NO_10bit
+               //this YUV format is handled natively in GPAC
+-              if (ctx->pix_fmt==PIX_FMT_YUV420P10LE) {
+-                      pix_out = PIX_FMT_YUV420P10LE;
++              if (ctx->pix_fmt==AV_PIX_FMT_YUV420P10LE) {
++                      pix_out = AV_PIX_FMT_YUV420P10LE;
+               }
+ #endif
+-              if (!mmlevel && frame->interlaced_frame) {
+-                      avpicture_deinterlace((AVPicture *) frame, (AVPicture 
*) frame, ctx->pix_fmt, ctx->width, ctx->height);
+-              }
+       }
+       pict.data[3] = 0;
+       pict.linesize[3] = 0;
+@@ -1263,13 +1260,13 @@ static u32 FFDEC_CanHandleStream(GF_Base
+               switch (ffd->oti) {
+               case GPAC_OTI_AUDIO_MPEG2_PART3:
+               case GPAC_OTI_AUDIO_MPEG1:
+-                      codec_id = CODEC_ID_MP2;
++                      codec_id = AV_CODEC_ID_MP2;
+                       break;
+               case GPAC_OTI_AUDIO_AC3:
+-                      codec_id = CODEC_ID_AC3;
++                      codec_id = AV_CODEC_ID_AC3;
+                       break;
+               case GPAC_OTI_AUDIO_EAC3:
+-                      codec_id = CODEC_ID_EAC3;
++                      codec_id = AV_CODEC_ID_EAC3;
+                       break;
+               }
+       }
+@@ -1309,11 +1306,11 @@ static u32 FFDEC_CanHandleStream(GF_Base
+               switch (ffd->oti) {
+               /*MPEG-4 v1 simple profile*/
+               case GPAC_OTI_VIDEO_MPEG4_PART2:
+-                      codec_id = CODEC_ID_MPEG4;
++                      codec_id = AV_CODEC_ID_MPEG4;
+                       break;
+               /*H264 (not std OTI, just the way we use it internally)*/
+               case GPAC_OTI_VIDEO_AVC:
+-                      codec_id = CODEC_ID_H264;
++                      codec_id = AV_CODEC_ID_H264;
+                       break;
+ #ifdef HAS_HEVC
+               case GPAC_OTI_VIDEO_HEVC:
+@@ -1329,11 +1326,11 @@ static u32 FFDEC_CanHandleStream(GF_Base
+               case GPAC_OTI_VIDEO_MPEG2_SPATIAL:
+               case GPAC_OTI_VIDEO_MPEG2_HIGH:
+               case GPAC_OTI_VIDEO_MPEG2_422:
+-                      codec_id = CODEC_ID_MPEG2VIDEO;
++                      codec_id = AV_CODEC_ID_MPEG2VIDEO;
+                       break;
+               /*JPEG*/
+               case GPAC_OTI_IMAGE_JPEG:
+-                      codec_id = CODEC_ID_MJPEG;
++                      codec_id = AV_CODEC_ID_MJPEG;
+                       /*return maybe supported as FFMPEG JPEG decoder has 
some issues with many files, so let's use it only if no
+                       other dec is available*/
+                       if (avcodec_find_decoder(codec_id) != NULL)
+Index: gpac-0.5.2/modules/ffmpeg_in/ffmpeg_demux.c
+===================================================================
+--- gpac-0.5.2.orig/modules/ffmpeg_in/ffmpeg_demux.c
++++ gpac-0.5.2/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -333,13 +333,13 @@ static GF_ESD *FFD_GetESDescriptor(FFDem
+               AVCodecContext *dec = ffd->ctx->streams[ffd->audio_st]->codec;
+               esd->slConfig->timestampResolution = ffd->audio_tscale.den;
+               switch (dec->codec_id) {
+-              case CODEC_ID_MP2:
++              case AV_CODEC_ID_MP2:
+                       esd->decoderConfig->objectTypeIndication = 
GPAC_OTI_AUDIO_MPEG1;
+                       break;
+-              case CODEC_ID_MP3:
++              case AV_CODEC_ID_MP3:
+                       esd->decoderConfig->objectTypeIndication = 
GPAC_OTI_AUDIO_MPEG2_PART3;
+                       break;
+-              case CODEC_ID_AAC:
++              case AV_CODEC_ID_AAC:
+                       if (!dec->extradata_size) goto opaque_audio;
+                       esd->decoderConfig->objectTypeIndication = 
GPAC_OTI_AUDIO_AAC_MPEG4;
+                       esd->decoderConfig->decoderSpecificInfo->dataLength = 
dec->extradata_size;
+@@ -374,25 +374,25 @@ opaque_audio:
+               AVCodecContext *dec = ffd->ctx->streams[ffd->video_st]->codec;
+               esd->slConfig->timestampResolution = ffd->video_tscale.den;
+               switch (dec->codec_id) {
+-              case CODEC_ID_MPEG4:
++              case AV_CODEC_ID_MPEG4:
+                       /*there is a bug in fragmentation of raw H264 in 
ffmpeg, the NALU startcode (0x00000001) is split across
+                       two frames - we therefore force internal ffmpeg codec 
ID to avoid NALU size recompute
+                       at the decoder level*/
+-//            case CODEC_ID_H264:
++//            case AV_CODEC_ID_H264:
+                       /*if dsi not detected force use ffmpeg*/
+                       if (!dec->extradata_size) goto opaque_video;
+                       /*otherwise use any MPEG-4 Visual*/
+-                      esd->decoderConfig->objectTypeIndication = 
(dec->codec_id==CODEC_ID_H264) ? GPAC_OTI_VIDEO_AVC : 
GPAC_OTI_VIDEO_MPEG4_PART2;
++                      esd->decoderConfig->objectTypeIndication = 
(dec->codec_id==AV_CODEC_ID_H264) ? GPAC_OTI_VIDEO_AVC : 
GPAC_OTI_VIDEO_MPEG4_PART2;
+                       esd->decoderConfig->decoderSpecificInfo->dataLength = 
dec->extradata_size;
+                       esd->decoderConfig->decoderSpecificInfo->data = 
gf_malloc(sizeof(char)*dec->extradata_size);
+                       memcpy(esd->decoderConfig->decoderSpecificInfo->data,
+                              dec->extradata,
+                              sizeof(char)*dec->extradata_size);
+                       break;
+-              case CODEC_ID_MPEG1VIDEO:
++              case AV_CODEC_ID_MPEG1VIDEO:
+                       esd->decoderConfig->objectTypeIndication = 
GPAC_OTI_VIDEO_MPEG1;
+                       break;
+-              case CODEC_ID_MPEG2VIDEO:
++              case AV_CODEC_ID_MPEG2VIDEO:
+                       esd->decoderConfig->objectTypeIndication = 
GPAC_OTI_VIDEO_MPEG2_422;
+                       break;
+               default:
+Index: gpac-0.5.2/modules/Makefile
+===================================================================
+--- gpac-0.5.2.orig/modules/Makefile
++++ gpac-0.5.2/modules/Makefile
+@@ -100,12 +100,10 @@ endif
+ 
+ 
+ ifneq ($(CONFIG_FFMPEG), no)
+-ifneq ($(CONFIG_LIBAV), new) #we don't support libav newest APIs
+ ifeq ($(CONFIG_OPENHEVC),no)
+ PLUGDIRS+=ffmpeg_in
+ endif
+ endif
+-endif
+ 
+ ifeq ($(CONFIG_OPENHEVC), yes)
+ ifeq ($(CONFIG_FFMPEG), no)
+--- gpac/applications/dashcast/video_encoder.c.orig    2016-02-17 
19:57:23.772138846 +0000
++++ gpac/applications/dashcast/video_encoder.c 2016-02-17 19:57:52.468686697 
+0000
+@@ -86,7 +86,7 @@
+               video_output_file->codec_ctx->time_base.den = 
video_data_conf->time_base.den;
+               video_output_file->codec_ctx->time_base.num = 
video_data_conf->time_base.num * video_data_conf->time_base.den / 
video_data_conf->framerate;
+       }
+-      video_output_file->codec_ctx->pix_fmt = PIX_FMT_YUV420P;
++      video_output_file->codec_ctx->pix_fmt = AV_PIX_FMT_YUV420P;
+       video_output_file->codec_ctx->gop_size = video_data_conf->framerate;
+ 
+ //    video_output_file->codec_ctx->codec_id = video_codec->id;
+@@ -96,7 +96,7 @@
+ //    video_output_file->codec_ctx->height = video_data_conf->height;
+ //    video_output_file->codec_ctx->time_base = (AVRational) {1 ,
+ //                            video_output_file->video_data_conf->framerate};
+-//    video_output_file->codec_ctx->codec->pix_fmt = PIX_FMT_YUV420P;
++//    video_output_file->codec_ctx->codec->pix_fmt = AV_PIX_FMT_YUV420P;
+       video_output_file->codec_ctx->gop_size = video_data_conf->framerate;
+ //
+ //    av_opt_set(video_output_file->codec_ctx->priv_data, "preset", 
"ultrafast", 0);
+--- gpac/applications/dashcast/video_muxer.c.orig      2016-02-17 
20:03:52.017158010 +0000
++++ gpac/applications/dashcast/video_muxer.c   2016-02-17 20:04:03.557099981 
+0000
+@@ -643,7 +643,7 @@
+ 
+       video_stream->codec->time_base = video_codec_ctx->time_base;
+ 
+-      video_stream->codec->pix_fmt = PIX_FMT_YUV420P;
++      video_stream->codec->pix_fmt = AV_PIX_FMT_YUV420P;
+       video_stream->codec->gop_size = video_codec_ctx->time_base.den; 
//video_output_file->video_data_conf->framerate;
+ 
+       av_opt_set(video_stream->codec->priv_data, "preset", "ultrafast", 0);
+--- gpac/applications/dashcast/video_scaler.c.orig     2016-02-17 
20:07:47.372652006 +0000
++++ gpac/applications/dashcast/video_scaler.c  2016-02-17 20:08:02.545910489 
+0000
+@@ -125,7 +125,7 @@
+       dc_consumer_init(&video_scaled_data->consumer, video_cb_size, name);
+ 
+       video_scaled_data->num_producers = max_source;
+-      video_scaled_data->out_pix_fmt = PIX_FMT_YUV420P;
++      video_scaled_data->out_pix_fmt = AV_PIX_FMT_YUV420P;
+       GF_SAFE_ALLOC_N(video_scaled_data->vsprop, max_source, VideoScaledProp);
+       memset(video_scaled_data->vsprop, 0, max_source * 
sizeof(VideoScaledProp));
+ 
+@@ -198,7 +198,7 @@
+               video_scaled_data_node->cropped_frame->width  = 
video_input_data->vprop[index].width  - video_input_data->vprop[index].crop_x;
+               video_scaled_data_node->cropped_frame->height = 
video_input_data->vprop[index].height - video_input_data->vprop[index].crop_y;
+ #endif
+-              if 
(av_picture_crop((AVPicture*)video_scaled_data_node->cropped_frame, 
(AVPicture*)video_data_node->vframe, PIX_FMT_YUV420P, 
video_input_data->vprop[index].crop_y, video_input_data->vprop[index].crop_x) < 
0) {
++              if 
(av_picture_crop((AVPicture*)video_scaled_data_node->cropped_frame, 
(AVPicture*)video_data_node->vframe, AV_PIX_FMT_YUV420P, 
video_input_data->vprop[index].crop_y, video_input_data->vprop[index].crop_x) < 
0) {
+                       GF_LOG(GF_LOG_ERROR, GF_LOG_DASH, ("Video scaler: error 
while cropping picture.\n"));
+                       return -1;
+               }
+--- gpac/applications/dashcast/audio_encoder.c.orig    2016-02-17 
20:14:56.797231896 +0000
++++ gpac/applications/dashcast/audio_encoder.c 2016-02-17 20:16:23.033486783 
+0000
+@@ -85,7 +85,7 @@
+       audio_output_file->frame_bytes = 
audio_output_file->codec_ctx->frame_size * 
av_get_bytes_per_sample(DC_AUDIO_SAMPLE_FORMAT) * DC_AUDIO_NUM_CHANNELS;
+ 
+ #ifndef FF_API_AVFRAME_LAVC
+-      avcodec_get_frame_defaults(audio_output_file->aframe);
++      av_frame_unref(audio_output_file->aframe);
+ #else
+       av_frame_unref(audio_output_file->aframe);
+ #endif
+--- gpac/applications/dashcast/audio_decoder.c.orig    2016-02-17 
20:15:09.517171017 +0000
++++ gpac/applications/dashcast/audio_decoder.c 2016-02-17 20:16:23.030153465 
+0000
+@@ -205,7 +205,7 @@
+                       packet.size = 0;
+ 
+ #ifndef FF_API_AVFRAME_LAVC
+-                      avcodec_get_frame_defaults(audio_input_data->aframe);
++                      av_frame_unref(audio_input_data->aframe);
+ #else
+                       av_frame_unref(audio_input_data->aframe);
+ #endif
+@@ -240,7 +240,7 @@
+                       /* Set audio frame to default */
+ 
+ #ifndef FF_API_AVFRAME_LAVC
+-                      avcodec_get_frame_defaults(audio_input_data->aframe);
++                      av_frame_unref(audio_input_data->aframe);
+ #else
+                       av_frame_unref(audio_input_data->aframe);
+ #endif
+--- gpac/applications/dashcast/video_decoder.c.orig    2016-02-17 
20:15:23.863769072 +0000
++++ gpac/applications/dashcast/video_decoder.c 2016-02-17 20:16:23.033486783 
+0000
+@@ -247,7 +247,7 @@
+                       /* Flush decoder */
+                       memset(&packet, 0, sizeof(AVPacket));
+ #ifndef FF_API_AVFRAME_LAVC
+-                      avcodec_get_frame_defaults(video_data_node->vframe);
++                      av_frame_unref(video_data_node->vframe);
+ #else
+                       av_frame_unref(video_data_node->vframe);
+ #endif
+@@ -286,7 +286,7 @@
+ 
+                       /* Set video frame to default */
+ #ifndef FF_API_AVFRAME_LAVC
+-                      avcodec_get_frame_defaults(video_data_node->vframe);
++                      av_frame_unref(video_data_node->vframe);
+ #else
+                       av_frame_unref(video_data_node->vframe);
+ #endif
+--- gpac/modules/ffmpeg_in/ffmpeg_decode.c.orig        2016-02-17 
20:21:45.081958730 +0000
++++ gpac/modules/ffmpeg_in/ffmpeg_decode.c     2016-02-17 20:23:37.511418275 
+0000
+@@ -328,7 +328,7 @@
+                       }
+               }
+ #if !defined(FF_API_AVFRAME_LAVC)
+-              *frame = avcodec_alloc_frame();
++              *frame = av_frame_alloc();
+ #else
+               *frame = av_frame_alloc();
+ #endif
+@@ -399,7 +399,7 @@
+ #if defined(USE_AVCTX3)
+ 
+ #if !defined(FF_API_AVFRAME_LAVC)
+-              ffd->audio_frame = avcodec_alloc_frame();
++              ffd->audio_frame = av_frame_alloc();
+ #else
+               ffd->audio_frame = av_frame_alloc();
+ #endif
+@@ -420,7 +420,7 @@
+ 
+               case AV_CODEC_ID_DVD_SUBTITLE:
+ #if !defined(FF_API_AVFRAME_LAVC)
+-                      *frame = avcodec_alloc_frame();
++                      *frame = av_frame_alloc();
+ #else
+                       *frame = av_frame_alloc();
+ #endif

Reply via email to