diff --git a/libarmbox/audio.cpp b/libarmbox/audio.cpp index 4df9fc8..b63c150 100644 --- a/libarmbox/audio.cpp +++ b/libarmbox/audio.cpp @@ -160,39 +160,12 @@ void cAudio::SetSyncMode(AVSYNC_TYPE Mode) ioctl(fd, AUDIO_SET_AV_SYNC, Mode); } -#define AUDIO_STREAMTYPE_AC3 0 -#define AUDIO_STREAMTYPE_MPEG 1 -#define AUDIO_STREAMTYPE_DTS 2 -#define AUDIO_STREAMTYPE_AAC 8 -#define AUDIO_STREAMTYPE_AACHE 9 - -void cAudio::SetStreamType(AUDIO_FORMAT type) +void cAudio::SetStreamType(int bypass) { - int bypass = AUDIO_STREAMTYPE_MPEG; - hal_debug("%s %d\n", __FUNCTION__, type); - StreamType = type; + StreamType = bypass; - switch (type) - { - case AUDIO_FMT_DD_PLUS: - case AUDIO_FMT_DOLBY_DIGITAL: - bypass = AUDIO_STREAMTYPE_AC3; - break; - case AUDIO_FMT_AAC: - bypass = AUDIO_STREAMTYPE_AAC; - break; - case AUDIO_FMT_AAC_PLUS: - bypass = AUDIO_STREAMTYPE_AACHE; - break; - case AUDIO_FMT_DTS: - bypass = AUDIO_STREAMTYPE_DTS; - break; - default: - break; - } + hal_info("%s %d (0x%x)\n", __FUNCTION__, bypass, bypass); - // Normaly the encoding should be set using AUDIO_SET_ENCODING - // But as we implemented the behavior to bypass (cause of e2) this is correct here if (ioctl(fd, AUDIO_SET_BYPASS_MODE, bypass) < 0) hal_info("%s: AUDIO_SET_BYPASS_MODE failed (%m)\n", __func__); } diff --git a/libarmbox/audio_lib.h b/libarmbox/audio_lib.h index 44aea6e..2eee1fa 100644 --- a/libarmbox/audio_lib.h +++ b/libarmbox/audio_lib.h @@ -18,24 +18,6 @@ typedef enum { HDMI_ENCODED_FORCED } HDMI_ENCODED_MODE; -typedef enum -{ - AUDIO_FMT_AUTO = 0, - AUDIO_FMT_MPEG, - AUDIO_FMT_MP3, - AUDIO_FMT_DOLBY_DIGITAL, - AUDIO_FMT_BASIC = AUDIO_FMT_DOLBY_DIGITAL, - AUDIO_FMT_AAC, - AUDIO_FMT_AAC_PLUS, - AUDIO_FMT_DD_PLUS, - AUDIO_FMT_DTS, - AUDIO_FMT_AVS, - AUDIO_FMT_MLP, - AUDIO_FMT_WMA, - AUDIO_FMT_MPG1, // TD only. For Movieplayer / cPlayback - AUDIO_FMT_ADVANCED = AUDIO_FMT_MLP -} AUDIO_FORMAT; - class mixerVolume; class cAudio @@ -49,7 +31,7 @@ class cAudio int mixer_fd; /* if we are using the OSS mixer */ int mixer_num; /* oss mixer to use, if any */ - AUDIO_FORMAT StreamType; + int StreamType; AUDIO_SYNC_MODE SyncMode; bool started; @@ -80,8 +62,8 @@ class cAudio int Start(void); int Stop(void); bool Pause(bool Pcm = true); - void SetStreamType(AUDIO_FORMAT type); - AUDIO_FORMAT GetStreamType(void) { return StreamType; } + void SetStreamType(int bypass); + int GetStreamType(void) { return StreamType; } void SetSyncMode(AVSYNC_TYPE Mode); /* select channels */ diff --git a/libmipsbox/audio.cpp b/libmipsbox/audio.cpp index a8f2230..f5de734 100644 --- a/libmipsbox/audio.cpp +++ b/libmipsbox/audio.cpp @@ -157,39 +157,12 @@ void cAudio::SetSyncMode(AVSYNC_TYPE Mode) ioctl(fd, AUDIO_SET_AV_SYNC, Mode); } -#define AUDIO_STREAMTYPE_AC3 0 -#define AUDIO_STREAMTYPE_MPEG 1 -#define AUDIO_STREAMTYPE_DTS 2 -#define AUDIO_STREAMTYPE_AAC 8 -#define AUDIO_STREAMTYPE_AACHE 9 - -void cAudio::SetStreamType(AUDIO_FORMAT type) +void cAudio::SetStreamType(int bypass) { - int bypass = AUDIO_STREAMTYPE_MPEG; - hal_debug("%s %d\n", __FUNCTION__, type); - StreamType = type; + StreamType = bypass; - switch (type) - { - case AUDIO_FMT_DD_PLUS: - case AUDIO_FMT_DOLBY_DIGITAL: - bypass = AUDIO_STREAMTYPE_AC3; - break; - case AUDIO_FMT_AAC: - bypass = AUDIO_STREAMTYPE_AAC; - break; - case AUDIO_FMT_AAC_PLUS: - bypass = AUDIO_STREAMTYPE_AACHE; - break; - case AUDIO_FMT_DTS: - bypass = AUDIO_STREAMTYPE_DTS; - break; - default: - break; - } + hal_info("%s %d (0x%x)\n", __FUNCTION__, bypass, bypass); - // Normaly the encoding should be set using AUDIO_SET_ENCODING - // But as we implemented the behavior to bypass (cause of e2) this is correct here if (ioctl(fd, AUDIO_SET_BYPASS_MODE, bypass) < 0) hal_info("%s: AUDIO_SET_BYPASS_MODE failed (%m)\n", __func__); } diff --git a/libmipsbox/audio_lib.h b/libmipsbox/audio_lib.h index 44aea6e..2eee1fa 100644 --- a/libmipsbox/audio_lib.h +++ b/libmipsbox/audio_lib.h @@ -18,24 +18,6 @@ typedef enum { HDMI_ENCODED_FORCED } HDMI_ENCODED_MODE; -typedef enum -{ - AUDIO_FMT_AUTO = 0, - AUDIO_FMT_MPEG, - AUDIO_FMT_MP3, - AUDIO_FMT_DOLBY_DIGITAL, - AUDIO_FMT_BASIC = AUDIO_FMT_DOLBY_DIGITAL, - AUDIO_FMT_AAC, - AUDIO_FMT_AAC_PLUS, - AUDIO_FMT_DD_PLUS, - AUDIO_FMT_DTS, - AUDIO_FMT_AVS, - AUDIO_FMT_MLP, - AUDIO_FMT_WMA, - AUDIO_FMT_MPG1, // TD only. For Movieplayer / cPlayback - AUDIO_FMT_ADVANCED = AUDIO_FMT_MLP -} AUDIO_FORMAT; - class mixerVolume; class cAudio @@ -49,7 +31,7 @@ class cAudio int mixer_fd; /* if we are using the OSS mixer */ int mixer_num; /* oss mixer to use, if any */ - AUDIO_FORMAT StreamType; + int StreamType; AUDIO_SYNC_MODE SyncMode; bool started; @@ -80,8 +62,8 @@ class cAudio int Start(void); int Stop(void); bool Pause(bool Pcm = true); - void SetStreamType(AUDIO_FORMAT type); - AUDIO_FORMAT GetStreamType(void) { return StreamType; } + void SetStreamType(int bypass); + int GetStreamType(void) { return StreamType; } void SetSyncMode(AVSYNC_TYPE Mode); /* select channels */