isomp4: Add object type id and fourcc for DTS/DTS-HD

Enables playback for files with DTS audio tracks.
Also add an extra AC-3 variant fourcc from Nero
This commit is contained in:
Jan Schmidt 2014-06-26 05:19:57 +10:00
parent 4ed74d3ab0
commit 8da6ee0312

View file

@ -10493,6 +10493,11 @@ gst_qtdemux_handle_esds (GstQTDemux * qtdemux, QtDemuxStream * stream,
caps = gst_caps_new_simple ("audio/x-ac3", caps = gst_caps_new_simple ("audio/x-ac3",
"framed", G_TYPE_BOOLEAN, TRUE, NULL); "framed", G_TYPE_BOOLEAN, TRUE, NULL);
break; 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 */ case 0xE1: /* QCELP */
/* QCELP, the codec_data is a riff tag (little endian) with /* 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). */ * 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); "framed", G_TYPE_BOOLEAN, TRUE, NULL);
stream->sampled = TRUE; stream->sampled = TRUE;
break; break;
case GST_MAKE_FOURCC ('s', 'a', 'c', '3'): // Nero Recode
case GST_MAKE_FOURCC ('a', 'c', '-', '3'): case GST_MAKE_FOURCC ('a', 'c', '-', '3'):
_codec ("AC-3 audio"); _codec ("AC-3 audio");
caps = gst_caps_new_simple ("audio/x-ac3", caps = gst_caps_new_simple ("audio/x-ac3",
"framed", G_TYPE_BOOLEAN, TRUE, NULL); "framed", G_TYPE_BOOLEAN, TRUE, NULL);
stream->sampled = TRUE; stream->sampled = TRUE;
break; 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'): case GST_MAKE_FOURCC ('M', 'A', 'C', '3'):
_codec ("MACE-3"); _codec ("MACE-3");
caps = gst_caps_new_simple ("audio/x-mace", caps = gst_caps_new_simple ("audio/x-mace",