From 0813fdac806a7f380a48af885a8296bb14d6b81c Mon Sep 17 00:00:00 2001 From: mutex at runbox dot com Date: Mon, 1 Oct 2007 09:21:19 +0000 Subject: gst/mpegtsparse/: Remove useless src pad that only results in not linked errors, fix a broken pointer dereference and... Original commit message from CVS: Patch by: mutex at runbox dot com * gst/mpegtsparse/mpegtspacketizer.c: (mpegts_packetizer_parse_adaptation_field_control): * gst/mpegtsparse/mpegtsparse.c: (mpegts_parse_base_init), (mpegts_parse_init), (mpegts_parse_push): * gst/mpegtsparse/mpegtsparse.h: Remove useless src pad that only results in not linked errors, fix a broken pointer dereference and make MAX_CONTINUITY constant conform to the standard to stop outputting corrupted data. Fixes #481276, #481279. --- gst/mpegtsparse/mpegtspacketizer.c | 4 ++-- gst/mpegtsparse/mpegtsparse.c | 17 +---------------- gst/mpegtsparse/mpegtsparse.h | 1 - 3 files changed, 3 insertions(+), 19 deletions(-) (limited to 'gst') diff --git a/gst/mpegtsparse/mpegtspacketizer.c b/gst/mpegtsparse/mpegtspacketizer.c index 1530c10d..025f53d9 100644 --- a/gst/mpegtsparse/mpegtspacketizer.c +++ b/gst/mpegtsparse/mpegtspacketizer.c @@ -34,7 +34,7 @@ static void mpegts_packetizer_dispose (GObject * object); static void mpegts_packetizer_finalize (GObject * object); #define CONTINUITY_UNSET 255 -#define MAX_CONTINUITY 16 +#define MAX_CONTINUITY 15 typedef struct { @@ -154,7 +154,7 @@ mpegts_packetizer_parse_adaptation_field_control (MpegTSPacketizer * packetizer, packet->pid, length); return FALSE; } - *packet->data += length; + packet->data += length; return TRUE; } diff --git a/gst/mpegtsparse/mpegtsparse.c b/gst/mpegtsparse/mpegtsparse.c index 0d0a4232..914bed36 100644 --- a/gst/mpegtsparse/mpegtsparse.c +++ b/gst/mpegtsparse/mpegtsparse.c @@ -83,12 +83,6 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_STATIC_CAPS ("video/mpegts, " "systemstream = (boolean) true ") ); -static GstStaticPadTemplate src_template = -GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("video/mpegts, " "systemstream = (boolean) true ") - ); - static GstStaticPadTemplate program_template = GST_STATIC_PAD_TEMPLATE ("program_%d", GST_PAD_SRC, GST_PAD_SOMETIMES, @@ -145,8 +139,6 @@ mpegts_parse_base_init (gpointer klass) gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); - gst_element_class_add_pad_template (element_class, - gst_static_pad_template_get (&src_template)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&program_template)); @@ -218,9 +210,6 @@ mpegts_parse_init (MpegTSParse * parse, MpegTSParseClass * klass) gst_pad_set_event_function (parse->sinkpad, mpegts_parse_sink_event); gst_element_add_pad (GST_ELEMENT (parse), parse->sinkpad); - parse->srcpad = mpegts_parse_create_tspad (parse, "src")->pad; - gst_element_add_pad (GST_ELEMENT (parse), parse->srcpad); - parse->disposed = FALSE; parse->packetizer = mpegts_packetizer_new (); parse->program_numbers = g_strdup (""); @@ -597,14 +586,10 @@ mpegts_parse_push (MpegTSParse * parse, MpegTSPacketizerPacket * packet) MpegTSParsePad *tspad; guint16 pid; GstBuffer *buffer; - GstFlowReturn ret = GST_FLOW_NOT_LINKED; - GstCaps *caps; + GstFlowReturn ret = GST_FLOW_OK; pid = packet->pid; - caps = gst_pad_get_caps (parse->srcpad); buffer = packet->buffer; - gst_buffer_set_caps (buffer, caps); - gst_caps_unref (caps); GST_OBJECT_LOCK (parse); /* clear tspad->pushed on pads */ diff --git a/gst/mpegtsparse/mpegtsparse.h b/gst/mpegtsparse/mpegtsparse.h index cace953a..e4a9df72 100644 --- a/gst/mpegtsparse/mpegtsparse.h +++ b/gst/mpegtsparse/mpegtsparse.h @@ -48,7 +48,6 @@ struct _MpegTSParse { GstElement element; GstPad *sinkpad; - GstPad *srcpad; /* the following vars must be protected with the OBJECT_LOCK as they can be * accessed from the application thread and the streaming thread */ -- cgit v1.2.1