[MPlayer-cvslog] r25223 - trunk/libao2/ao_null.c

uau subversion at mplayerhq.hu
Sat Dec 1 06:17:08 CET 2007


Author: uau
Date: Sat Dec  1 06:17:08 2007
New Revision: 25223

Log:
Fix ao_null with float samples

ao_null accepts float input, but the code calculating ao_data.bps only
checked for 1-byte formats and used samplesize 2 for everything else.
Because ao_null uses the bps value in its timing calculations this
effectively made "playback" advance at half the correct speed.
Fixed by calculating samplesize with af_fmt2bits() instead.


Modified:
   trunk/libao2/ao_null.c

Modified: trunk/libao2/ao_null.c
==============================================================================
--- trunk/libao2/ao_null.c	(original)
+++ trunk/libao2/ao_null.c	Sat Dec  1 06:17:08 2007
@@ -50,7 +50,7 @@ static int control(int cmd,void *arg){
 // return: 1=success 0=fail
 static int init(int rate,int channels,int format,int flags){
 
-    int samplesize = (format == AF_FORMAT_U8 || format == AF_FORMAT_S8) ? 1: 2;
+    int samplesize = af_fmt2bits(format) / 8;
     ao_data.outburst = 256 * channels * samplesize;
     // A "buffer" for about 0.2 seconds of audio
     ao_data.buffersize = (int)(rate * 0.2 / 256 + 1) * ao_data.outburst;



More information about the MPlayer-cvslog mailing list