[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sound and Artsd



On Sun, Jan 29, 2006 at 06:33:50PM +0100, Antonio Rago wrote:
> Can artsd work with sound_pmac?

Cannot say for sure if with sound_pmac as I am using also,
but I know that there is a bug in xmms' artsd output plugin 
on big-engian machines.

Attached my fix with references to the issue trackers.
So far upstream and Debian did not care to fix the bug.
You could give it a try.

	Bernhard

> I can ear the sound of xmms or mpg123 but when I start artsd obtain the
> error:
> Error while initializing the sound driver:
> SNDCTL_DSP_SETFMT failed - Invalid argument
> Any hint?
> Maybe it could be something wrong in the kernel configuration?
Attempt to fix Debian #273744 which is
also http://bugs.xmms.org/show_bug.cgi?id=1928 .
A crash on big-endian machines.
See convert.c that a pointer to a pointer is wanted, excerpt:
  static int convert_swap_endian(void **data, int length)
  static int convert_swap_sign_and_endian_to_native(void **data, int length)
  static int convert_swap_sign_and_endian_to_alien(void **data, int length)
  static int convert_swap_sign16(void **data, int length)
  static int convert_swap_sign8(void **data, int length)

diff -ur xmms-arts-0.7.1/audio.c xmms-arts-0.7.1-new/audio.c
--- xmms-arts-0.7.1/audio.c	2004-03-02 01:31:05.000000000 +0100
+++ xmms-arts-0.7.1-new/audio.c	2005-08-11 16:00:34.879996736 +0200
@@ -293,7 +293,7 @@
 					 input_params.channels);
 
 	if (arts_convert_func)
-		arts_convert_func(ptr, length);
+		arts_convert_func(&ptr, length);
 
 	helper_cmd_data(CMD_WRITE, 0, ptr, length);
 	written += length;

Attachment: pgpFuKEkhfXM9.pgp
Description: PGP signature


Reply to: