summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--sys/dvb/camutils.c29
2 files changed, 19 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index e7ebe10b..f964c422 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,14 @@
2008-02-27 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/dvb/camutils.c:
+ Remove the G_VALUE_HOLDS_BOXED checks. They were
+ only added to help debug the data corruption.
+
+2008-02-27 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+
+ * sys/dvb/camutils.c:
Don't free the program descriptors, this structure
- containing them is stills tored after.
+ containing them is still stored after.
Fixes data corruption.
2008-02-27 Zaheer Abbas Merali <zaheerabbas at merali dot org>
diff --git a/sys/dvb/camutils.c b/sys/dvb/camutils.c
index 7e70aa26..b3062b59 100644
--- a/sys/dvb/camutils.c
+++ b/sys/dvb/camutils.c
@@ -232,14 +232,12 @@ cam_build_ca_pmt (GstStructure * pmt, guint8 list_management, guint8 cmd_id,
streams = gst_structure_get_value (pmt, "streams");
value = gst_structure_get_value (pmt, "descriptors");
if (value != NULL) {
- if (G_VALUE_HOLDS_BOXED (value)) {
- 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;
- }
+ 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;
@@ -252,14 +250,12 @@ cam_build_ca_pmt (GstStructure * pmt, guint8 list_management, guint8 cmd_id,
value = gst_structure_get_value (stream, "descriptors");
if (value != NULL) {
- if (G_VALUE_HOLDS_BOXED (value)) {
- stream_descriptors = g_value_get_boxed (value);
-
- len = get_ca_descriptors_length (stream_descriptors);
- if (len > 0)
- /* one byte for the stream level cmd_id */
- len += 1;
- }
+ stream_descriptors = g_value_get_boxed (value);
+
+ len = get_ca_descriptors_length (stream_descriptors);
+ if (len > 0)
+ /* one byte for the stream level cmd_id */
+ len += 1;
}
lengths = g_list_append (lengths, GINT_TO_POINTER (len));
@@ -267,7 +263,6 @@ cam_build_ca_pmt (GstStructure * pmt, guint8 list_management, guint8 cmd_id,
}
}
-
buffer = g_malloc0 (body_size);
body = buffer;