summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch')
-rw-r--r--media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch b/media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch
new file mode 100644
index 000000000000..d72aa04533dd
--- /dev/null
+++ b/media-sound/squeezeslave/files/squeezeslave-1.1_p381-ffmpeg2.patch
@@ -0,0 +1,133 @@
+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;
+ }