mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
mpeg[pt]sdemux: Add support for AAC LATM/LOAS streams
Fixes bug #615681.
This commit is contained in:
parent
6e4a14d231
commit
83b5b29639
3 changed files with 23 additions and 5 deletions
|
@ -159,7 +159,9 @@
|
||||||
#define ST_H222_1 0x09
|
#define ST_H222_1 0x09
|
||||||
|
|
||||||
/* later extensions */
|
/* later extensions */
|
||||||
#define ST_AUDIO_AAC 0x0f
|
#define ST_AUDIO_AAC_ADTS 0x0f
|
||||||
|
/* LATM/LOAS AAC syntax */
|
||||||
|
#define ST_AUDIO_AAC_LOAS 0x11
|
||||||
#define ST_VIDEO_MPEG4 0x10
|
#define ST_VIDEO_MPEG4 0x10
|
||||||
#define ST_VIDEO_H264 0x1b
|
#define ST_VIDEO_H264 0x1b
|
||||||
|
|
||||||
|
|
|
@ -350,11 +350,19 @@ gst_flups_demux_create_stream (GstFluPSDemux * demux, gint id, gint stream_type)
|
||||||
case ST_MHEG:
|
case ST_MHEG:
|
||||||
case ST_DSMCC:
|
case ST_DSMCC:
|
||||||
break;
|
break;
|
||||||
case ST_AUDIO_AAC:
|
case ST_AUDIO_AAC_ADTS:
|
||||||
template = klass->audio_template;
|
template = klass->audio_template;
|
||||||
name = g_strdup_printf ("audio_%02x", id);
|
name = g_strdup_printf ("audio_%02x", id);
|
||||||
caps = gst_caps_new_simple ("audio/mpeg",
|
caps = gst_caps_new_simple ("audio/mpeg",
|
||||||
"mpegversion", G_TYPE_INT, 4, NULL);
|
"mpegversion", G_TYPE_INT, 4,
|
||||||
|
"stream-format", G_TYPE_STRING, "adts", NULL);
|
||||||
|
break;
|
||||||
|
case ST_AUDIO_AAC_LOAS: // LATM/LOAS AAC syntax
|
||||||
|
template = klass->audio_template;
|
||||||
|
name = g_strdup_printf ("audio_%02x", id);
|
||||||
|
caps = gst_caps_new_simple ("audio/mpeg",
|
||||||
|
"mpegversion", G_TYPE_INT, 4,
|
||||||
|
"stream-format", G_TYPE_STRING, "loas", NULL);
|
||||||
break;
|
break;
|
||||||
case ST_VIDEO_H264:
|
case ST_VIDEO_H264:
|
||||||
template = klass->video_template;
|
template = klass->video_template;
|
||||||
|
|
|
@ -682,11 +682,19 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id,
|
||||||
case ST_MHEG:
|
case ST_MHEG:
|
||||||
case ST_DSMCC:
|
case ST_DSMCC:
|
||||||
break;
|
break;
|
||||||
case ST_AUDIO_AAC:
|
case ST_AUDIO_AAC_ADTS:
|
||||||
template = klass->audio_template;
|
template = klass->audio_template;
|
||||||
name = g_strdup_printf ("audio_%04x", stream->PID);
|
name = g_strdup_printf ("audio_%04x", stream->PID);
|
||||||
caps = gst_caps_new_simple ("audio/mpeg",
|
caps = gst_caps_new_simple ("audio/mpeg",
|
||||||
"mpegversion", G_TYPE_INT, 4, NULL);
|
"mpegversion", G_TYPE_INT, 4,
|
||||||
|
"stream-format", G_TYPE_STRING, "adts", NULL);
|
||||||
|
break;
|
||||||
|
case ST_AUDIO_AAC_LOAS: // LATM/LOAS AAC syntax
|
||||||
|
template = klass->audio_template;
|
||||||
|
name = g_strdup_printf ("audio_%04x", stream->PID);
|
||||||
|
caps = gst_caps_new_simple ("audio/mpeg",
|
||||||
|
"mpegversion", G_TYPE_INT, 4,
|
||||||
|
"stream-format", G_TYPE_STRING, "loas", NULL);
|
||||||
break;
|
break;
|
||||||
case ST_VIDEO_MPEG4:
|
case ST_VIDEO_MPEG4:
|
||||||
template = klass->video_template;
|
template = klass->video_template;
|
||||||
|
|
Loading…
Reference in a new issue