summaryrefslogtreecommitdiff
path: root/packages/libxine/files/libxine-libvorbis.patch
blob: 81bcbd5468428085de48858a21f5e3e1c4316a7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;