diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index e306ef7434..b6a1530e7e 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1185,6 +1185,7 @@ mpegts_base_handle_psi (MpegTSBase * base, MpegTSPacketizerSection * section) case 0x6E: case 0x6F: /* EIT, schedule */ + /* FIXME : Can take up to 50% of total mpeg-ts demuxing cpu usage ! */ structure = mpegts_packetizer_parse_eit (base->packetizer, section); if (G_LIKELY (structure)) mpegts_base_apply_eit (base, section->pid, structure); @@ -1426,6 +1427,10 @@ mpegts_base_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) goto next; } + /* FIXME : Handle the case where we have multiple sections in one + * packet ! + * See bug #677443 + */ /* base PSI data */ if (packet.payload != NULL && mpegts_base_is_psi (base, &packet)) { MpegTSPacketizerSection section; diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c index 46f6f607d1..5536dbc40f 100644 --- a/gst/mpegtsdemux/mpegtspacketizer.c +++ b/gst/mpegtsdemux/mpegtspacketizer.c @@ -1686,6 +1686,7 @@ error: return NULL; } +/* FIXME : Can take up to 50% of total mpeg-ts demuxing cpu usage */ GstStructure * mpegts_packetizer_parse_eit (MpegTSPacketizer2 * packetizer, MpegTSPacketizerSection * section) @@ -2813,6 +2814,7 @@ convert_to_utf8 (const gchar * text, gint length, guint start, text += start; + /* FIXME : GByteArray has a big overhead */ sb = g_byte_array_sized_new (length * 1.1); if (is_multibyte) {