diff options
Diffstat (limited to 'media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch')
-rw-r--r-- | media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch b/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch new file mode 100644 index 0000000..b2e1d82 --- /dev/null +++ b/media-plugins/xmms-wma/files/xmms-wma-ds-fifo_init.patch @@ -0,0 +1,32 @@ +diff -dPNur xmms-wma-1.0.5/xmms-wma.c xmms-wma-1.0.5-ds/xmms-wma.c +--- xmms-wma-1.0.5/xmms-wma.c 2010-02-07 15:46:56.000000000 +0100 ++++ xmms-wma-1.0.5-ds/xmms-wma.c 2010-02-07 15:58:23.000000000 +0100 +@@ -350,14 +350,14 @@ + } + static void wma_playbuff(int out_size) + { +- AVFifoBuffer f; ++ AVFifoBuffer *f; + int sst_buff; + +- av_fifo_init(&f, out_size*2); +- av_fifo_generic_write(&f, wma_outbuf, out_size, NULL); ++ f = av_fifo_alloc(out_size*2); ++ av_fifo_generic_write(f, wma_outbuf, out_size, NULL); + +- while ((av_fifo_size(&f) > 0) && wma_decode) { +- if (av_fifo_read(&f, wma_s_outbuf, wma_st_buff)) break; ++ while ((av_fifo_size(f) > 0) && wma_decode) { ++ if (av_fifo_generic_read(f, wma_s_outbuf, wma_st_buff, NULL)) break; + + if(wma_eq_on) + sst_buff = iir((gpointer)&wma_s_outbuf, wma_st_buff); +@@ -371,7 +371,7 @@ + wma_ip.output->write_audio((short *)wma_s_outbuf, sst_buff); + memset(wma_s_outbuf, 0, sst_buff); + } +- av_fifo_free(&f); ++ av_fifo_free(f); + return; + } + |