sys/dvb/camutils.c: Do not assume "descriptors" property in the pmt structure is present.

Original commit message from CVS:
* sys/dvb/camutils.c:
Do not assume "descriptors" property in the pmt structure
is present.
Fixes #516499.
This commit is contained in:
Zaheer Abbas Merali 2008-02-14 17:09:38 +00:00
parent c5b175a689
commit 4194e04a46
2 changed files with 15 additions and 7 deletions

View file

@ -1,3 +1,10 @@
2008-02-14 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/dvb/camutils.c:
Do not assume "descriptors" property in the pmt structure
is present.
Fixes #516499.
2008-02-14 Wim Taymans <wim.taymans@collabora.co.uk>
Patch by: Olivier Crete <tester@tester.ca>

View file

@ -231,13 +231,14 @@ cam_build_ca_pmt (GstStructure * pmt, guint8 list_management, guint8 cmd_id,
gst_structure_get_uint (pmt, "version-number", &version_number);
streams = gst_structure_get_value (pmt, "streams");
value = gst_structure_get_value (pmt, "descriptors");
program_descriptors = g_value_get_boxed (value);
/* get the length of program level CA_descriptor()s */
len = get_ca_descriptors_length (program_descriptors);
if (len > 0)
/* add one byte for the program level cmd_id */
len += 1;
if (value != NULL) {
program_descriptors = g_value_get_boxed (value);
/* get the length of program level CA_descriptor()s */
len = get_ca_descriptors_length (program_descriptors);
if (len > 0)
/* add one byte for the program level cmd_id */
len += 1;
}
lengths = g_list_append (lengths, GINT_TO_POINTER (len));
body_size += 6 + len;