summaryrefslogtreecommitdiffstats
path: root/gst/mpegdemux
diff options
context:
space:
mode:
Diffstat (limited to 'gst/mpegdemux')
-rw-r--r--gst/mpegdemux/gstmpegdesc.c8
-rw-r--r--gst/mpegdemux/mpegtspacketizer.c11
2 files changed, 8 insertions, 11 deletions
diff --git a/gst/mpegdemux/gstmpegdesc.c b/gst/mpegdemux/gstmpegdesc.c
index 727b3e8a..4c88e1fd 100644
--- a/gst/mpegdemux/gstmpegdesc.c
+++ b/gst/mpegdemux/gstmpegdesc.c
@@ -119,7 +119,7 @@ gst_mpeg_descriptor_n_desc (GstMPEGDescriptor * desc)
guint8 *
gst_mpeg_descriptor_find (GstMPEGDescriptor * desc, gint tag)
{
- gint length;
+ guint8 length;
guint8 *current;
guint size;
@@ -146,7 +146,7 @@ gst_mpeg_descriptor_find_all (GstMPEGDescriptor * desc, gint tag)
{
GArray *all;
- gint length;
+ guint8 length;
guint8 *current;
guint size;
@@ -165,13 +165,15 @@ gst_mpeg_descriptor_find_all (GstMPEGDescriptor * desc, gint tag)
length -= size;
}
+ GST_DEBUG ("found tag 0x%02x %d times", tag, all->len);
+
return all;
}
guint8 *
gst_mpeg_descriptor_nth (GstMPEGDescriptor * desc, guint i)
{
- gint length;
+ guint8 length;
guint8 *current;
guint size;
diff --git a/gst/mpegdemux/mpegtspacketizer.c b/gst/mpegdemux/mpegtspacketizer.c
index 4f06e99f..8c5fcc9c 100644
--- a/gst/mpegdemux/mpegtspacketizer.c
+++ b/gst/mpegdemux/mpegtspacketizer.c
@@ -1545,7 +1545,6 @@ mpegts_packetizer_parse_eit (MpegTSPacketizer * packetizer,
guint8 *extended_descriptor;
/*GValue extended_items = { 0 }; */
gchar *extended_text = NULL;
- gchar *extended_text_tmp;
/*g_value_init (&extended_items, GST_TYPE_LIST); */
for (i = 0; i < extended_event_descriptors->len; i++) {
extended_descriptor = g_array_index (extended_event_descriptors,
@@ -1555,26 +1554,22 @@ mpegts_packetizer_parse_eit (MpegTSPacketizer * packetizer,
if (extended_text) {
gchar *tmp;
gchar *old_extended_text = extended_text;
- tmp = g_strndup ((gchar *)
+ tmp = get_encoding_and_convert ((gchar *)
DESC_DVB_EXTENDED_EVENT_text (extended_descriptor),
DESC_DVB_EXTENDED_EVENT_text_length (extended_descriptor));
extended_text = g_strdup_printf ("%s%s", extended_text, tmp);
g_free (old_extended_text);
g_free (tmp);
} else {
- extended_text = g_strndup ((gchar *)
+ extended_text = get_encoding_and_convert ((gchar *)
DESC_DVB_EXTENDED_EVENT_text (extended_descriptor),
DESC_DVB_EXTENDED_EVENT_text_length (extended_descriptor));
}
}
}
if (extended_text) {
- extended_text_tmp = get_encoding_and_convert (extended_text,
- strlen (extended_text));
-
gst_structure_set (event, "extended-text", G_TYPE_STRING,
- extended_text_tmp, NULL);
- g_free (extended_text_tmp);
+ extended_text, NULL);
g_free (extended_text);
}
g_array_free (extended_event_descriptors, TRUE);