aballier 15/02/06 14:24:50 Added: squeezeslave-1.1_p381-ffmpeg2.patch Log: fix build with ffmpeg2, patch by Rick Moritz in bug #481062 with some extra changes by me for ffmpeg 2.4+ Signed-off-by: [email protected] (Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 160F534A)
Revision Changes Path 1.1 media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch?rev=1.1&content-type=text/plain Index: squeezeslave-1.1_p381-ffmpeg2.patch =================================================================== Index: squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder.c =================================================================== --- squeezeslave-1.1_p381.orig/src/slimaudio/slimaudio_decoder.c +++ squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder.c @@ -69,7 +69,6 @@ void av_lib_setup (void) av_register_all(); DEBUGF("decoder_thread: av_register_all\n"); - avcodec_init(); avcodec_register_all(); DEBUGF("decoder_thread: avcodec_register_all\n"); Index: squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder_aac.c =================================================================== --- squeezeslave-1.1_p381.orig/src/slimaudio/slimaudio_decoder_aac.c +++ squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder_aac.c @@ -47,6 +47,11 @@ #define AUDIO_INBUF_SIZE (AUDIO_CHUNK_SIZE*2) +#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE +#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio +#endif + + int slimaudio_decoder_aac_init(slimaudio_t *audio) { av_lib_setup(); @@ -164,7 +169,7 @@ int slimaudio_decoder_aac_process(slimau } else { - AVIOCtx->is_streamed = 1; + AVIOCtx->seekable = 0; } AVInputFormat* pAVInputFormat = av_find_input_format(streamformat); @@ -199,7 +204,7 @@ int slimaudio_decoder_aac_process(slimau } else { - iRC = av_find_stream_info(pFormatCtx); + iRC = avformat_find_stream_info(pFormatCtx, NULL); if ( iRC < 0 ) { DEBUGF("aac: find stream info failed:%d\n", iRC); @@ -236,7 +241,7 @@ int slimaudio_decoder_aac_process(slimau } /* Open codec */ - iRC = avcodec_open(pCodecCtx, pCodec); + iRC = avcodec_open2(pCodecCtx, pCodec, NULL); if ( iRC < 0) { DEBUGF("aac: could not open codec:%d\n", iRC); @@ -274,7 +279,7 @@ int slimaudio_decoder_aac_process(slimau eos=true; } - if ( url_ferror(pFormatCtx->pb) ) + if ( pFormatCtx->pb && pFormatCtx->pb->error ) { DEBUGF("aac: url_ferror\n"); #if 0 @@ -312,7 +317,7 @@ int slimaudio_decoder_aac_process(slimau /* Close the stream */ DEBUGF ("aac: av_close_input_stream\n"); - av_close_input_stream(pFormatCtx); + avformat_close_input(&pFormatCtx); return 0; } Index: squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder_wma.c =================================================================== --- squeezeslave-1.1_p381.orig/src/slimaudio/slimaudio_decoder_wma.c +++ squeezeslave-1.1_p381/src/slimaudio/slimaudio_decoder_wma.c @@ -47,6 +47,10 @@ #define AUDIO_INBUF_SIZE (AUDIO_CHUNK_SIZE*2) +#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE +#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio +#endif + int slimaudio_decoder_wma_init(slimaudio_t *audio) { av_lib_setup(); @@ -159,7 +163,7 @@ int slimaudio_decoder_wma_process(slimau } else { - AVIOCtx->is_streamed = 1; + AVIOCtx->seekable = 1; } AVInputFormat* pAVInputFormat = av_find_input_format(streamformat); @@ -194,7 +198,7 @@ int slimaudio_decoder_wma_process(slimau } else { - iRC = av_find_stream_info(pFormatCtx); + iRC = avformat_find_stream_info(pFormatCtx,NULL); if ( iRC < 0 ) { DEBUGF("wma: find stream info failed:%d\n", iRC); @@ -231,7 +235,7 @@ int slimaudio_decoder_wma_process(slimau } /* Open codec */ - iRC = avcodec_open(pCodecCtx, pCodec); + iRC = avcodec_open2(pCodecCtx, pCodec, NULL); if ( iRC < 0) { DEBUGF("wma: could not open codec:%d\n", iRC); @@ -270,7 +274,7 @@ int slimaudio_decoder_wma_process(slimau eos=true; } - if ( url_ferror(pFormatCtx->pb) ) + if ( pFormatCtx->pb && pFormatCtx->pb->error ) { DEBUGF("wma: url_ferror\n"); #if 0 @@ -308,7 +312,7 @@ int slimaudio_decoder_wma_process(slimau /* Close the stream */ DEBUGF ("wma: av_close_input_stream\n"); - av_close_input_stream(pFormatCtx); + avformat_close_input(&pFormatCtx); return 0; }
