diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-03-17 20:59:36 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-03-17 20:59:36 +0000 |
commit | dbc7e973b2e7762774a9bd3f298aa8886e48fb4b (patch) | |
tree | bf6ac489b1d229a94aa623092b5d02d97bc64c26 | |
parent | 5ffabbd9b6ad0cc31b6316d3239326f40ed2db11 (diff) | |
download | xine-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.c | 24 |
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); |