summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2010-03-23 15:01:48 +0200
committerPetri Hintukainen <phintuka@users.sourceforge.net>2010-03-23 15:01:48 +0200
commit74853b910cfd296eb0fea43394a3819e803c46b9 (patch)
treee2bae39001a567b04cc7f9e0deca15d75c9fe86d
parent0b9d995c38b188a6e1e899f43a0dc318d67099a2 (diff)
downloadxine-lib-74853b910cfd296eb0fea43394a3819e803c46b9.tar.gz
xine-lib-74853b910cfd296eb0fea43394a3819e803c46b9.tar.bz2
Demux EAC3 audio from matroska
(Sample: http://samples.mplayerhq.hu/Matroska/H264%2bEAC3.mkv )
-rw-r--r--src/demuxers/demux_matroska.c5
-rw-r--r--src/demuxers/matroska.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c
index 94f47db44..dd1f15fa6 100644
--- a/src/demuxers/demux_matroska.c
+++ b/src/demuxers/demux_matroska.c
@@ -1350,6 +1350,11 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) {
track->buf_type = BUF_AUDIO_A52;
init_codec = init_codec_audio;
+ } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_EAC3)) {
+ lprintf("MATROSKA_CODEC_ID_A_EAC3\n");
+ track->buf_type = BUF_AUDIO_EAC3;
+ init_codec = init_codec_audio;
+
} else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_DTS)) {
lprintf("MATROSKA_CODEC_ID_A_DTS\n");
track->buf_type = BUF_AUDIO_DTS;
diff --git a/src/demuxers/matroska.h b/src/demuxers/matroska.h
index 0a8226319..3cafc6441 100644
--- a/src/demuxers/matroska.h
+++ b/src/demuxers/matroska.h
@@ -320,6 +320,7 @@ struct matroska_track_s {
#define MATROSKA_CODEC_ID_A_PCM_INT_LE "A_PCM/INT/LIT"
#define MATROSKA_CODEC_ID_A_PCM_FLOAT "A_PCM/FLOAT/IEEE"
#define MATROSKA_CODEC_ID_A_AC3 "A_AC3"
+#define MATROSKA_CODEC_ID_A_EAC3 "A_EAC3"
#define MATROSKA_CODEC_ID_A_DTS "A_DTS"
#define MATROSKA_CODEC_ID_A_VORBIS "A_VORBIS"
#define MATROSKA_CODEC_ID_A_ACM "A_MS/ACM"