Commit ee9c60fa authored by Max Kellermann's avatar Max Kellermann

output/oss: AFMT_S24_PACKED is little-endian

According to the Solaris dsp manpage, AFMT_S24_PACKED is little-endian: http://download.oracle.com/docs/cd/E19963-01/821-1475/6nmf5baot/index.html The Minix soundcard.h header says the same.
parent e2574848
...@@ -4,6 +4,7 @@ ver 0.16.2 (2011/??/??) ...@@ -4,6 +4,7 @@ ver 0.16.2 (2011/??/??)
- gme: detect end of song - gme: detect end of song
* output: * output:
- httpd: fix uninitialized variable - httpd: fix uninitialized variable
- oss: AFMT_S24_PACKED is little-endian
ver 0.16.1 (2011/01/09) ver 0.16.1 (2011/01/09)
......
...@@ -461,6 +461,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format, ...@@ -461,6 +461,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format,
break; break;
audio_format->format = mpd_format; audio_format->format = mpd_format;
#ifdef AFMT_S24_PACKED
if (oss_format == AFMT_S24_PACKED)
audio_format->reverse_endian =
G_BYTE_ORDER != G_LITTLE_ENDIAN;
#endif
return true; return true;
case ERROR: case ERROR:
...@@ -502,6 +508,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format, ...@@ -502,6 +508,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format,
break; break;
audio_format->format = mpd_format; audio_format->format = mpd_format;
#ifdef AFMT_S24_PACKED
if (oss_format == AFMT_S24_PACKED)
audio_format->reverse_endian =
G_BYTE_ORDER != G_LITTLE_ENDIAN;
#endif
return true; return true;
case ERROR: case ERROR:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment