aboutsummaryrefslogtreecommitdiff
path: root/gst/isomp4/qtdemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/isomp4/qtdemux.c')
-rw-r--r--gst/isomp4/qtdemux.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 7df62597..f2ea73b6 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -10493,6 +10493,11 @@ gst_qtdemux_handle_esds (GstQTDemux * qtdemux, QtDemuxStream * stream,
caps = gst_caps_new_simple ("audio/x-ac3",
"framed", G_TYPE_BOOLEAN, TRUE, NULL);
break;
+ case 0xA9: /* AC3 */
+ codec_name = "DTS audio";
+ caps = gst_caps_new_simple ("audio/x-dts",
+ "framed", G_TYPE_BOOLEAN, TRUE, NULL);
+ break;
case 0xE1: /* QCELP */
/* QCELP, the codec_data is a riff tag (little endian) with
* more info (http://ftp.3gpp2.org/TSGC/Working/2003/2003-05-SanDiego/TSG-C-2003-05-San%20Diego/WG1/SWG12/C12-20030512-006%20=%20C12-20030217-015_Draft_Baseline%20Text%20of%20FFMS_R2.doc). */
@@ -11033,12 +11038,27 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
"framed", G_TYPE_BOOLEAN, TRUE, NULL);
stream->sampled = TRUE;
break;
+ case GST_MAKE_FOURCC ('s', 'a', 'c', '3'): // Nero Recode
case GST_MAKE_FOURCC ('a', 'c', '-', '3'):
_codec ("AC-3 audio");
caps = gst_caps_new_simple ("audio/x-ac3",
"framed", G_TYPE_BOOLEAN, TRUE, NULL);
stream->sampled = TRUE;
break;
+ case GST_MAKE_FOURCC ('d', 't', 's', 'c'):
+ case GST_MAKE_FOURCC ('D', 'T', 'S', ' '):
+ _codec ("DTS audio");
+ caps = gst_caps_new_simple ("audio/x-dts",
+ "framed", G_TYPE_BOOLEAN, TRUE, NULL);
+ stream->sampled = TRUE;
+ break;
+ case GST_MAKE_FOURCC ('d', 't', 's', 'h'): // DTS-HD
+ case GST_MAKE_FOURCC ('d', 't', 's', 'l'): // DTS-HD Lossless
+ _codec ("DTS-HD audio");
+ caps = gst_caps_new_simple ("audio/x-dts",
+ "framed", G_TYPE_BOOLEAN, TRUE, NULL);
+ stream->sampled = TRUE;
+ break;
case GST_MAKE_FOURCC ('M', 'A', 'C', '3'):
_codec ("MACE-3");
caps = gst_caps_new_simple ("audio/x-mace",