diff --git a/configure.in b/configure.in index 28c59fe5fc..e65c6dc233 100644 --- a/configure.in +++ b/configure.in @@ -433,6 +433,8 @@ plugins/mpeg2/ac3dec/Makefile plugins/mpeg2/video/Makefile plugins/mpeg2/mpeg2enc/Makefile plugins/mpeg2/subtitles/Makefile +plugins/mpeg2/videoparse/Makefile +plugins/mpeg2/mpegtypes/Makefile plugins/mpeg1/Makefile plugins/mpeg1/mpegtypes/Makefile plugins/mpeg1/mpeg_play/Makefile diff --git a/docs/manual/gstreamer-manual.sgml b/docs/manual/gstreamer-manual.sgml index b043418bac..1526bfbb8b 100644 --- a/docs/manual/gstreamer-manual.sgml +++ b/docs/manual/gstreamer-manual.sgml @@ -1,4 +1,4 @@ - diff --git a/gst/Makefile.am b/gst/Makefile.am index 53d458d097..2b71fc95f6 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -78,7 +78,7 @@ noinst_HEADERS = \ gsti386.h \ gstppc.h -CFLAGS += -O2 -Wall -fomit-frame-pointer +CFLAGS += -O2 -Wall libgst_la_LIBADD = $(GLIB_LIBS) $(GTK_LIBS) $(XML_LIBS) libgst_la_LDFLAGS = -version-info $(STREAMER_CURRENT):$(STREAMER_REVISION):$(STREAMER_AGE) diff --git a/gst/cothreads.c b/gst/cothreads.c index dd14b9d7b9..dea05945c8 100644 --- a/gst/cothreads.c +++ b/gst/cothreads.c @@ -19,7 +19,8 @@ cothread_state *cothread_create(cothread_context *ctx) { cothread_state *s; DEBUG("cothread: pthread_self() %ld\n",pthread_self()); - if (pthread_self() == 0) { + if (0) { + //if (pthread_self() == 0) { s = (cothread_state *)malloc(sizeof(int) * COTHREAD_STACKSIZE); DEBUG("cothread: new stack at %p\n",s); } else { diff --git a/gst/elements/gstdisksrc.c b/gst/elements/gstdisksrc.c index 1ec3591d8d..fc50da5acf 100644 --- a/gst/elements/gstdisksrc.c +++ b/gst/elements/gstdisksrc.c @@ -22,6 +22,8 @@ #include #include +//#define DEBUG_ENABLED + #include @@ -241,6 +243,7 @@ void gst_disksrc_push(GstSrc *src) { DEBUG("pushing with offset %d\n", GST_BUFFER_OFFSET(buf)); /* we're done, push the buffer off now */ gst_pad_push(disksrc->srcpad,buf); + DEBUG("pushing with offset %d done\n", GST_BUFFER_OFFSET(buf)); } diff --git a/gst/gstbin.c b/gst/gstbin.c index 430d656250..d3a0d1e140 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -716,6 +716,8 @@ void gst_bin_iterate_func(GstBin *bin) { DEBUG("** in gst_bin_iterate_func()==================================%s\n", gst_element_get_name(GST_ELEMENT(bin->children->data))); cothread_switch(GST_ELEMENT(bin->children->data)->threadstate); + DEBUG("** out gst_bin_iterate_func()==================================%s\n", + gst_element_get_name(GST_ELEMENT(bin->children->data))); } else { if (bin->numentries <= 0) { printf("gstbin: no entries in bin \"%s\" trying children...\n", gst_element_get_name(GST_ELEMENT(bin))); diff --git a/gst/gstpad.c b/gst/gstpad.c index c5cfc024ae..063a44d2d5 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -225,7 +225,8 @@ GstBuffer *gst_pad_pull(GstPad *pad) { // g_print("-- gst_pad_pull(): calling pull handler\n"); (pad->pullfunc)(pad->peer); } else { - g_print("-- gst_pad_pull(): no buffer in pen, and no handler to get one there!!!\n"); + g_print("-- gst_pad_pull(%s:%s): no buffer in pen, and no handler to get one there!!!\n", + GST_ELEMENT(pad->parent)->name, pad->name); } } @@ -237,7 +238,8 @@ GstBuffer *gst_pad_pull(GstPad *pad) { return buf; // else we have a big problem... } else { - g_print("-- gst_pad_pull(): uh, nothing in pen and no handler\n"); + g_print("-- gst_pad_pull(%s:%s): no buffer in pen, and no handler\n", + GST_ELEMENT(pad->parent)->name, pad->peer->name); return NULL; } diff --git a/gst/gstpad.h b/gst/gstpad.h index e92eff360f..72919c494f 100644 --- a/gst/gstpad.h +++ b/gst/gstpad.h @@ -39,8 +39,8 @@ extern "C" { #define GST_IS_PAD_CLASS(obj) (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PAD)) // quick test to see if the pad is connected -#define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL) -#define GST_PAD_CAN_PULL(pad) ((pad)->pullfunc != NULL) +#define GST_PAD_CONNECTED(pad) (pad && (pad)->peer != NULL) +#define GST_PAD_CAN_PULL(pad) (pad && (pad)->pullfunc != NULL) typedef struct _GstPad GstPad; typedef struct _GstPadClass GstPadClass; diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c index b636204d69..076aa79837 100644 --- a/gst/gstpipeline.c +++ b/gst/gstpipeline.c @@ -303,6 +303,7 @@ gboolean gst_pipeline_autoplug(GstPipeline *pipeline) { GList *elements; GstElement *element, *srcelement = NULL, *sinkelement= NULL; GList **factories; + GList **base_factories; GstElementFactory *factory; GList *src_types; guint16 src_type = 0, sink_type = 0; @@ -354,6 +355,7 @@ gboolean gst_pipeline_autoplug(GstPipeline *pipeline) { numsinks = g_list_length(elements); factories = g_new0(GList *, numsinks); + base_factories = g_new0(GList *, numsinks); i = 0; // fase 2, loop over all the sinks.. @@ -376,8 +378,7 @@ gboolean gst_pipeline_autoplug(GstPipeline *pipeline) { pads = g_list_next(pads); } - factories[i] = gst_type_get_sink_to_src(src_type, sink_type); - //factories[i] = g_list_append(factories[i], element); + base_factories[i] = factories[i] = gst_type_get_sink_to_src(src_type, sink_type); i++; elements = g_list_next(elements); @@ -419,7 +420,7 @@ differ: GstElement *thesrcelement = srcelement; GstElement *thebin = GST_ELEMENT(pipeline); - if (g_list_length(factories[i]) < 1) goto next; + if (g_list_length(base_factories[i]) == 0) goto next; sinkelement = (GstElement *)elements->data; diff --git a/plugins/elements/gstdisksrc.c b/plugins/elements/gstdisksrc.c index 1ec3591d8d..fc50da5acf 100644 --- a/plugins/elements/gstdisksrc.c +++ b/plugins/elements/gstdisksrc.c @@ -22,6 +22,8 @@ #include #include +//#define DEBUG_ENABLED + #include @@ -241,6 +243,7 @@ void gst_disksrc_push(GstSrc *src) { DEBUG("pushing with offset %d\n", GST_BUFFER_OFFSET(buf)); /* we're done, push the buffer off now */ gst_pad_push(disksrc->srcpad,buf); + DEBUG("pushing with offset %d done\n", GST_BUFFER_OFFSET(buf)); }