summaryrefslogtreecommitdiffstats
path: root/gst/mpegtsparse
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheerabbas@merali.org>2008-01-22 20:27:28 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2008-01-22 20:27:28 +0000
commit450442adaea762d2f1508e99c97634a8d52ba65a (patch)
tree7a0b0f5cc58b86955da80dc99084e3c126d5888f /gst/mpegtsparse
parent0884acd8ced59b9f1e2acdc9fb4bfcbcf8f359a0 (diff)
downloadgst-plugins-bad-450442adaea762d2f1508e99c97634a8d52ba65a.tar.gz
gst-plugins-bad-450442adaea762d2f1508e99c97634a8d52ba65a.tar.bz2
gst-plugins-bad-450442adaea762d2f1508e99c97634a8d52ba65a.zip
gst/mpegtsparse/mpegtspacketizer.c: Parsed and added network name to the nit structure sent in the bus message.
Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: Parsed and added network name to the nit structure sent in the bus message.
Diffstat (limited to 'gst/mpegtsparse')
-rw-r--r--gst/mpegtsparse/mpegtspacketizer.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gst/mpegtsparse/mpegtspacketizer.c b/gst/mpegtsparse/mpegtspacketizer.c
index 5deb2418..17231b4c 100644
--- a/gst/mpegtsparse/mpegtspacketizer.c
+++ b/gst/mpegtsparse/mpegtspacketizer.c
@@ -606,6 +606,28 @@ mpegts_packetizer_parse_nit (MpegTSPacketizer * packetizer,
gst_structure_free (nit);
goto error;
}
+ guint8 *networkname_descriptor;
+ GstMPEGDescriptor *mpegdescriptor =
+ gst_mpeg_descriptor_parse (data, descriptors_loop_length);
+ networkname_descriptor =
+ gst_mpeg_descriptor_find (mpegdescriptor, DESC_DVB_NETWORK_NAME);
+ if (networkname_descriptor != NULL) {
+ gchar *networkname_tmp;
+ guint networkname_length =
+ DESC_DVB_NETWORK_NAME_length (networkname_descriptor);
+ gchar *networkname =
+ (gchar *) DESC_DVB_NETWORK_NAME_text (networkname_descriptor);
+ if (networkname[0] < 0x20) {
+ networkname_length -= 1;
+ networkname += 1;
+ }
+ networkname_tmp = g_strndup (networkname, networkname_length);
+ gst_structure_set (nit, "network-name", G_TYPE_STRING, networkname_tmp,
+ NULL);
+ g_free (networkname_tmp);
+ }
+
+ gst_mpeg_descriptor_free (mpegdescriptor);
descriptors = g_value_array_new (0);
if (!mpegts_packetizer_parse_descriptors (packetizer,