aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--src/output/oss_plugin.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 5316279f5..64353a7c0 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ ver 0.16.2 (2011/??/??)
- gme: detect end of song
* output:
- httpd: fix uninitialized variable
+ - oss: AFMT_S24_PACKED is little-endian
ver 0.16.1 (2011/01/09)
diff --git a/src/output/oss_plugin.c b/src/output/oss_plugin.c
index f5ae80e8c..26d674e33 100644
--- a/src/output/oss_plugin.c
+++ b/src/output/oss_plugin.c
@@ -461,6 +461,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format,
break;
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;
case ERROR:
@@ -502,6 +508,12 @@ oss_setup_sample_format(int fd, struct audio_format *audio_format,
break;
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;
case ERROR: