diff src/CoreAudio/audio.c @ 60:34f76b8969bd trunk

[svn] - use xconvert to swap endianness if necessary (LE -> BE, vice versa)
author nenolod
date Sat, 30 Sep 2006 21:30:12 -0700
parents c852da081533
children a69b14abbc65
line wrap: on
line diff
--- a/src/CoreAudio/audio.c	Sat Sep 30 21:19:52 2006 -0700
+++ b/src/CoreAudio/audio.c	Sat Sep 30 21:30:12 2006 -0700
@@ -42,6 +42,7 @@
 
 gboolean paused;
 
+static int (*osx_convert_func) (void **data, int length);
 
 float left_volume, right_volume;
 float base_pitch = 0.0;
@@ -226,6 +227,10 @@
 
 	osx_set_audio_params();
 
+    osx_convert_func =
+        osx_get_convert_func(output.format.osx,
+                             osx_get_format(effect.format.xmms));
+
 	output.bps = osx_calc_bitrate(output.format.osx, output.frequency,output.channels);
 }
 
@@ -347,6 +352,9 @@
 	// update amount of samples received
 	written += num_samples;
 
+        if (osx_convert_func != NULL)
+            osx_convert_func(&ptr, length);
+
 	// step through audio 
 	while (num_samples > 0)
 	{