summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-03-17 20:59:36 +0000
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-03-17 20:59:36 +0000
commitdbc7e973b2e7762774a9bd3f298aa8886e48fb4b (patch)
treebf6ac489b1d229a94aa623092b5d02d97bc64c26
parent5ffabbd9b6ad0cc31b6316d3239326f40ed2db11 (diff)
downloadxine-lib-dbc7e973b2e7762774a9bd3f298aa8886e48fb4b.tar.gz
xine-lib-dbc7e973b2e7762774a9bd3f298aa8886e48fb4b.tar.bz2
As 24-bit waves are reduced to 16-bit for output (most output plugins don't support 24 bit output), reduce it accordingly.
CVS patchset: 8710 CVS date: 2007/03/17 20:59:36
-rw-r--r--src/liblpcm/xine_decoder.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/liblpcm/xine_decoder.c b/src/liblpcm/xine_decoder.c
index 65ec012d7..43bea4cbf 100644
--- a/src/liblpcm/xine_decoder.c
+++ b/src/liblpcm/xine_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_decoder.c,v 1.61 2006/07/10 22:08:29 dgp85 Exp $
+ * $Id: xine_decoder.c,v 1.62 2007/03/17 20:59:36 dgp85 Exp $
*
* 31-8-2001 Added LPCM rate sensing.
* (c) 2001 James Courtier-Dutton James@superbug.demon.co.uk
@@ -191,20 +191,16 @@ static void lpcm_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) {
int n = buf->size;
while (n >= 0) {
- *d++ = s[8];
- *d++ = s[0];
-
- *d++ = s[9];
- *d++ = s[2];
-
- *d++ = s[10];
- *d++ = s[4];
-
- *d++ = s[11];
- *d++ = s[6];
+ if ( stream_be ) {
+ *d++ = s[0];
+ *d++ = s[1];
+ } else {
+ *d++ = s[1];
+ *d++ = s[2];
+ }
- s += 12;
- n -= 12;
+ s += 3;
+ n -= 3;
}
} else {
memcpy (audio_buffer->mem, sample_buffer, buf->size);