From 09b7956ca596a876f19273568c7756f675b2b56e Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 25 Sep 2014 19:52:17 +0200 Subject: stream_cdda, demux_raw: always use s16le stream_cdda's output format is linked to demux_raw's default audio format, and at least we don't care enough to provide a separate mechanism to let stream_cdda explicitly set the format, so they must match. Judging from the existing code, it looks like CDDA always outputs little endian. stream_cdda.c changed this back to native endian (what demux_raw expects). Just make them both little endian. This requires less code, and also having a raw demuxer's behavior depend on the endianness of the machine isn't very sane anyway. --- demux/demux_raw.c | 2 +- stream/stream_cdda.c | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/demux/demux_raw.c b/demux/demux_raw.c index 6faea6e61d..d054dbdf01 100644 --- a/demux/demux_raw.c +++ b/demux/demux_raw.c @@ -78,7 +78,7 @@ const struct m_sub_options demux_rawaudio_conf = { // Note that currently, stream_cdda expects exactly these parameters! .channels = MP_CHMAP_INIT_STEREO, .samplerate = 44100, - .aformat = PCM(1, 0, 16, NE), // s16 + .aformat = PCM(1, 0, 16, 0), // s16le }, }; diff --git a/stream/stream_cdda.c b/stream/stream_cdda.c index 79f700c260..d105141200 100644 --- a/stream/stream_cdda.c +++ b/stream/stream_cdda.c @@ -38,15 +38,12 @@ #include #include -#include "osdep/endian.h" - #include "talloc.h" #include "stream.h" #include "options/m_option.h" #include "options/m_config.h" #include "options/options.h" -#include "osdep/mpbswap.h" #include "common/msg.h" @@ -176,11 +173,6 @@ static int fill_buffer(stream_t *s, char *buffer, int max_len) if (!buf) return 0; -#if BYTE_ORDER == BIG_ENDIAN - for (i = 0; i < CDIO_CD_FRAMESIZE_RAW / 2; i++) - buf[i] = le2me_16(buf[i]); -#endif - p->sector++; memcpy(buffer, buf, CDIO_CD_FRAMESIZE_RAW); -- cgit v1.2.3