mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 01:31:03 +00:00
MPEG2 types added for better autoplugging. MPEG2 works more or less. fix in autoplugging. avi now works.
Original commit message from CVS: MPEG2 types added for better autoplugging. MPEG2 works more or less. fix in autoplugging. avi now works.
This commit is contained in:
parent
b7810a3635
commit
2521a319c3
10 changed files with 24 additions and 10 deletions
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!doctype book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" [
|
||||
<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "" [
|
||||
<!ENTITY INTRO SYSTEM "intro.sgml">
|
||||
<!ENTITY MOTIVATION SYSTEM "motivation.sgml">
|
||||
<!ENTITY GOALS SYSTEM "goals.sgml">
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
//#define DEBUG_ENABLED
|
||||
|
||||
#include <gstdisksrc.h>
|
||||
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
//#define DEBUG_ENABLED
|
||||
|
||||
#include <gstdisksrc.h>
|
||||
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue