summaryrefslogtreecommitdiff
path: root/recipes/libxine/files/libxine-libvorbis.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/libxine/files/libxine-libvorbis.patch')
-rw-r--r--recipes/libxine/files/libxine-libvorbis.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/recipes/libxine/files/libxine-libvorbis.patch b/recipes/libxine/files/libxine-libvorbis.patch
new file mode 100644
index 0000000000..81bcbd5468
--- /dev/null
+++ b/recipes/libxine/files/libxine-libvorbis.patch
@@ -0,0 +1,39 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: xine-lib-1.0/src/libvorbis/xine_decoder.c
+===================================================================
+--- xine-lib-1.0.orig/src/libvorbis/xine_decoder.c 2005-02-20 18:21:57.924625900 +0100
++++ xine-lib-1.0/src/libvorbis/xine_decoder.c 2005-02-20 18:52:02.016033646 +0100
+@@ -40,7 +40,7 @@
+ #include "buffer.h"
+
+ #include <ogg/ogg.h>
+-#include <vorbis/codec.h>
++#include <tremor/ivorbiscodec.h>
+
+ #define MAX_NUM_SAMPLES 4096
+
+@@ -216,7 +216,7 @@
+
+ } else if (this->output_open) {
+
+- float **pcm;
++ int **pcm;
+ int samples;
+
+ if(vorbis_synthesis(&this->vb,&this->op,1)==0)
+@@ -245,9 +245,9 @@
+ interleave */
+ for(i=0;i<this->vi.channels;i++){
+ ogg_int16_t *ptr=audio_buffer->mem+i;
+- float *mono=pcm[i];
++ int *mono=pcm[i];
+ for(j=0;j<bout;j++){
+- int val=mono[j]*32767.f;
++ int val=mono[j]>>9;
+ /* might as well guard against clipping */
+ if(val>32767){
+ val=32767;