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.
This commit is contained in:
mutex at runbox dot com 2007-10-01 09:21:19 +00:00 committed by Sebastian Dröge
parent c553adff7a
commit 0813fdac80
4 changed files with 17 additions and 19 deletions

View file

@ -1,3 +1,17 @@
2007-10-01 Sebastian Dröge <slomo@circular-chaos.org>
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.
2007-09-29 Tim-Philipp Müller <tim at centricular dot net>
* ext/mythtv/gstmythtvsrc.c:

View file

@ -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;
}

View file

@ -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 */

View file

@ -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 */