summaryrefslogtreecommitdiff
path: root/gst/mpegdemux/gstmpegtsdemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/mpegdemux/gstmpegtsdemux.c')
-rw-r--r--gst/mpegdemux/gstmpegtsdemux.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index 2c6db7da3..012c1cc71 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -125,7 +125,10 @@ enum
#define AUDIO_CAPS \
GST_STATIC_CAPS ( \
"audio/mpeg, " \
- "mpegversion = (int) { 1, 4 };" \
+ "mpegversion = (int) 1;" \
+ "audio/mpeg, " \
+ "mpegversion = (int) 4, " \
+ "stream-format = (string) { adts, loas };" \
"audio/x-lpcm, " \
"width = (int) { 16, 20, 24 }, " \
"rate = (int) { 48000, 96000 }, " \
@@ -396,6 +399,14 @@ gst_mpegts_demux_reset (GstMpegTSDemux * demux)
demux->last_buf_ts = GST_CLOCK_TIME_NONE;
}
+static void
+gst_mpegts_demux_no_more_pads (GstElement * demux)
+{
+ /* We should really call no-more-pads here, but we don't as
+ this would preclude addition of more pads if/when new streams
+ are added. */
+}
+
#if 0
static void
gst_mpegts_demux_remove_pads (GstMpegTSDemux * demux)
@@ -1083,7 +1094,7 @@ gst_mpegts_demux_sync_streams (GstMpegTSDemux * demux, GstClockTime time)
any pad that might be waiting for data */
if (!stream->pad && demux->pending_pads > 0) {
demux->pending_pads = 0;
- gst_element_no_more_pads (GST_ELEMENT (demux));
+ gst_mpegts_demux_no_more_pads (GST_ELEMENT (demux));
}
if (stream->pad) {
@@ -1329,7 +1340,7 @@ gst_mpegts_demux_data_cb (GstPESFilter * filter, gboolean first,
If not, we'll add pads as we get data for them, and will end up
hitting decodebin2's overrun threshold (if using decodebin2) */
GST_DEBUG_OBJECT (demux, "All pads added, we can signal no-more-pads");
- gst_element_no_more_pads (GST_ELEMENT (demux));
+ gst_mpegts_demux_no_more_pads (GST_ELEMENT (demux));
} else {
GST_DEBUG_OBJECT (demux,
"All pads could not be added, we will not signal no-more-pads");
@@ -1384,7 +1395,7 @@ gst_mpegts_demux_data_cb (GstPESFilter * filter, gboolean first,
"Adding pad due to received data, decreasing pending pads to %d",
demux->pending_pads);
if (demux->pending_pads == 0)
- gst_element_no_more_pads (GST_ELEMENT (demux));
+ gst_mpegts_demux_no_more_pads (GST_ELEMENT (demux));
stream->discont = TRUE;
@@ -1738,7 +1749,7 @@ gst_mpegts_stream_parse_pmt (GstMpegTSStream * stream,
GST_DEBUG_OBJECT (demux, "Done parsing PMT, pending pads now %d",
demux->pending_pads);
if (demux->pending_pads == 0)
- gst_element_no_more_pads (GST_ELEMENT (demux));
+ gst_mpegts_demux_no_more_pads (GST_ELEMENT (demux));
return TRUE;