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> 2008-02-14 Wim Taymans <wim.taymans@collabora.co.uk>
Patch by: Olivier Crete <tester@tester.ca> 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); gst_structure_get_uint (pmt, "version-number", &version_number);
streams = gst_structure_get_value (pmt, "streams"); streams = gst_structure_get_value (pmt, "streams");
value = gst_structure_get_value (pmt, "descriptors"); value = gst_structure_get_value (pmt, "descriptors");
program_descriptors = g_value_get_boxed (value); if (value != NULL) {
/* get the length of program level CA_descriptor()s */ program_descriptors = g_value_get_boxed (value);
len = get_ca_descriptors_length (program_descriptors); /* get the length of program level CA_descriptor()s */
if (len > 0) len = get_ca_descriptors_length (program_descriptors);
/* add one byte for the program level cmd_id */ if (len > 0)
len += 1; /* add one byte for the program level cmd_id */
len += 1;
}
lengths = g_list_append (lengths, GINT_TO_POINTER (len)); lengths = g_list_append (lengths, GINT_TO_POINTER (len));
body_size += 6 + len; body_size += 6 + len;