summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_qt.c10
-rw-r--r--src/xine-engine/buffer_types.c1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c
index 44b4dd8b8..41b5c5b5b 100644
--- a/src/demuxers/demux_qt.c
+++ b/src/demuxers/demux_qt.c
@@ -108,6 +108,8 @@ typedef unsigned int qt_atom;
#define IN24_FOURCC ME_FOURCC('i', 'n', '2', '4')
#define NI42_FOURCC ME_FOURCC('4', '2', 'n', 'i')
#define AVC1_FOURCC ME_FOURCC('a', 'v', 'c', '1')
+#define AC_3_FOURCC ME_FOURCC('a', 'c', '-', '3')
+#define EAC3_FOURCC ME_FOURCC('e', 'c', '-', '3')
#define UDTA_ATOM QT_ATOM('u', 'd', 't', 'a')
#define META_ATOM QT_ATOM('m', 'e', 't', 'a')
@@ -1283,6 +1285,8 @@ static qt_error parse_trak_atom (qt_trak *trak,
* further, do not do load these parameters if the audio is just
* PCM ('raw ', 'twos', 'sowt' or 'in24') */
if ((current_stsd_atom_size > 0x24) &&
+ (trak->stsd_atoms[k].audio.codec_fourcc != AC_3_FOURCC) &&
+ (trak->stsd_atoms[k].audio.codec_fourcc != EAC3_FOURCC) &&
(trak->stsd_atoms[k].audio.codec_fourcc != TWOS_FOURCC) &&
(trak->stsd_atoms[k].audio.codec_fourcc != SOWT_FOURCC) &&
(trak->stsd_atoms[k].audio.codec_fourcc != RAW_FOURCC) &&
@@ -1321,6 +1325,12 @@ static qt_error parse_trak_atom (qt_trak *trak,
if (trak->stsd_atoms[k].audio.codec_fourcc == SAMR_FOURCC)
trak->stsd_atoms[k].audio.vbr = 1;
+ if (trak->stsd_atoms[k].audio.codec_fourcc == AC_3_FOURCC)
+ trak->stsd_atoms[k].audio.vbr = 1;
+
+ if (trak->stsd_atoms[k].audio.codec_fourcc == EAC3_FOURCC)
+ trak->stsd_atoms[k].audio.vbr = 1;
+
if (trak->stsd_atoms[k].audio.codec_fourcc == ALAC_FOURCC) {
trak->stsd_atoms[k].audio.vbr = 1;
/* further, FFmpeg's ALAC decoder requires 36 out-of-band bytes */
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index edc0957ce..52777db91 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -808,6 +808,7 @@ static const audio_db_t audio_db[] = {
{
0x2000,
ME_FOURCC('m', 's', 0x20, 0x00),
+ ME_FOURCC('a', 'c', '-', '3'),
0
},
BUF_AUDIO_A52,