mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-12 03:16:33 +00:00
08eaa11259
Original commit message from CVS: - added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu> - some fixes to int2float - aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it builds. - Made the schedulers plugable. The default scheduler now lives inside a plugin. - Added a new mpeg1/2 parser/demuxer. - Fixed some compiler warnings in the core libs. - substantial work to GstThread (hopefully less race conditions). simplified the code in GstThread a bit. A state change can now also happen in the thread context. - reworked the state semantics of a bin. it'll now automatically get the highest state of its children. - the autoplugger now nests the threads so that a state change failure of one thread doesn't make its upstream thread lock. - GstQueue refuses to go to PLAYING if the sinkpad is not connected. This way the queue will not wedge in the _get lock. - GstQueue unlocks its mutexes when going to PAUSED. - make sure that when all elements in a bin/thread go to PAUSED, the bin is set to PAUSED too. - make a parent bin wait for its children to PAUSE before ending the iteration with FALSE (EOS) - Some changes to GstPlay to deal with EOS. - aplied the latest patch from Zeenix to gstrtp. end result: GstPlay doesn't crash on EOS and the pipeline is now shut down properly.
220 lines
5.2 KiB
Makefile
220 lines
5.2 KiB
Makefile
# cheap trick to build . first...
|
|
|
|
lib_LTLIBRARIES = libgst.la
|
|
|
|
if HAVE_CPU_I386
|
|
GSTARCH_SRCS = gstcpuid_i386.s
|
|
else
|
|
GSTARCH_SRCS =
|
|
endif
|
|
|
|
#GST_INSTRUMENT_FLAGS = -finstrument-functions -DGST_ENABLE_FUNC_INSTRUMENTATION
|
|
|
|
if USE_GLIB2
|
|
GST_OBJECT_MODEL_SRC = gstmarshal.c
|
|
GST_OBJECT_MODEL_HDR = gstmarshal.h
|
|
else
|
|
GST_OBJECT_MODEL_SRC = gobject2gtk.c
|
|
GST_OBJECT_MODEL_HDR = gobject2gtk.h
|
|
endif
|
|
|
|
if GST_DISABLE_LOADSAVE
|
|
GST_LOADSAVE_SRC =
|
|
else
|
|
GST_LOADSAVE_SRC = gstxml.c
|
|
endif
|
|
|
|
if GST_DISABLE_TYPEFIND
|
|
GST_TYPEFIND_SRC =
|
|
else
|
|
GST_TYPEFIND_SRC = gsttypefind.c
|
|
endif
|
|
|
|
if GST_DISABLE_PARSE
|
|
GST_PARSE_SRC =
|
|
else
|
|
GST_PARSE_SRC = gstparse.c
|
|
endif
|
|
|
|
if GST_DISABLE_AUTOPLUG
|
|
GST_AUTOPLUG_SRC =
|
|
GST_AUTOPLUG_DIRS =
|
|
else
|
|
GST_AUTOPLUG_SRC = gstautoplug.c
|
|
GST_AUTOPLUG_DIRS = autoplug
|
|
endif
|
|
|
|
if GST_DISABLE_TRACE
|
|
GST_TRACE_SRC =
|
|
else
|
|
GST_TRACE_SRC = gsttrace.c
|
|
endif
|
|
|
|
EXTRA_libgst_la_SOURCES = gstcpuid_i386.s gstmarshal.list gobject2gtk.c gobject2gtk.h gstxml.c gsttypefind.c gstparse.c gstautoplug.c gsttrace.c
|
|
|
|
SUBDIRS = . types elements $(GST_AUTOPLUG_DIRS) schedulers
|
|
DIST_SUBDIRS = types elements autoplug schedulers
|
|
|
|
libgst_la_SOURCES = \
|
|
cothreads.c \
|
|
gst.c \
|
|
$(GST_OBJECT_MODEL_SRC) \
|
|
gstobject.c \
|
|
$(GST_AUTOPLUG_SRC) \
|
|
gstbin.c \
|
|
gstbuffer.c \
|
|
gstbufferpool.c \
|
|
gstcaps.c \
|
|
gstclock.c \
|
|
gstcpu.c \
|
|
gstelement.c \
|
|
gstelementfactory.c \
|
|
gstevent.c \
|
|
gstextratypes.c \
|
|
gstinfo.c \
|
|
gstpad.c \
|
|
gstpipeline.c \
|
|
gstplugin.c \
|
|
gstpluginfeature.c \
|
|
gstprops.c \
|
|
gstqueue.c \
|
|
gstscheduler.c \
|
|
gstthread.c \
|
|
$(GST_TRACE_SRC) \
|
|
gsttype.c \
|
|
$(GST_TYPEFIND_SRC) \
|
|
gstutils.c \
|
|
gsttimecache.c \
|
|
$(GST_PARSE_SRC) \
|
|
$(GSTARCH_SRCS) \
|
|
$(GST_LOADSAVE_SRC)
|
|
|
|
|
|
##### Oh this sucks so badly. This isn't funny. #####
|
|
|
|
# the compiler shoots cothreads.c in the head at -O6
|
|
# FIXME: these manual rules break the dependency generation, so we have a
|
|
# nasty hack here.
|
|
#LTCOMPILE2=$(LTCOMPILE) -O2
|
|
#COMPILE2=$(COMPILE) -O2
|
|
|
|
# FIXME this only lists the x86 arch file, we really should merge them all
|
|
cothreads.lo: $(srcdir)/cothreads.c $(srcdir)/cothreads.h $(srcdir)/gst_private.h \
|
|
$(top_builddir)/config.h $(srcdir)/gstinfo.c $(srcdir)/gstarch.h
|
|
$(LIBTOOL) --mode=compile $(COMPILE) -O2 -c $<
|
|
cothreads.o: $(srcdir)/cothreads.c $(srcdir)/cothreads.h $(srcdir)/gst_private.h \
|
|
$(top_builddir)/config.h $(srcdir)/gstinfo.c $(srcdir)/gstarch.h
|
|
$(COMPILE) -O2 -c $<
|
|
|
|
# NOTDEPEND.cothreads.lo: cothreads.c
|
|
# NOTDEPEND $(LTCOMPILE2) -c $<
|
|
# NOTDEPEND.cothreads.o: cothreads.c
|
|
# NOTDEPEND $(COMPILE2) -c $<
|
|
|
|
#cothreads.lo: cothreads.c
|
|
# @echo '$(LTCOMPILE2) -c $<'; \
|
|
# $(LTCOMPILE2) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
# @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
|
# < .deps/$(*F).pp > .deps/$(*F).P; \
|
|
# tr ' ' '\012' < .deps/$(*F).pp \
|
|
# | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
# >> .deps/$(*F).P; \
|
|
# rm -f .deps/$(*F).pp
|
|
#cothreads.o: cothreads.c
|
|
# @echo '$(COMPILE2) -c $<'; \
|
|
# $(COMPILE2) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
# @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
|
# < .deps/$(*F).pp > .deps/$(*F).P; \
|
|
# tr ' ' '\012' < .deps/$(*F).pp \
|
|
# | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
# >> .deps/$(*F).P; \
|
|
# rm -f .deps/$(*F).pp
|
|
|
|
##### end immense suckage #####
|
|
|
|
##### Other built sources #####
|
|
|
|
if USE_GLIB2
|
|
BUILT_SOURCES = gstmarshal.h gstmarshal.c
|
|
else
|
|
BUILT_SOURCES =
|
|
endif
|
|
|
|
# Generate both marshal files together. Makes dependency work easier.
|
|
gstmarshal.h: gstmarshal.list
|
|
glib-genmarshal --header --prefix=gst_marshal gstmarshal.list > gstmarshal.h
|
|
|
|
gstmarshal.c: gstmarshal.list
|
|
echo "#include \"glib-object.h\"" >gstmarshal.c
|
|
echo "#include \"gstlog.h\"" >> gstmarshal.c
|
|
echo "#include \"gstmarshal.h\"" >> gstmarshal.c
|
|
glib-genmarshal --body --prefix=gst_marshal gstmarshal.list >> gstmarshal.c
|
|
|
|
##### end built sources #####
|
|
|
|
# Don't want the generated marshal files in the dist
|
|
dist-hook:
|
|
rm -f $(distdir)/gstmarshal.c $(distdir)/gstmarshal.h
|
|
# Clean generated files
|
|
distclean-local:
|
|
rm -f $(builddir)/gstmarshal.c $(builddir)/gstmarshal.h
|
|
|
|
libgstincludedir = $(includedir)/gst
|
|
libgstinclude_HEADERS = \
|
|
cothreads.h \
|
|
gst.h \
|
|
gstconfig.h \
|
|
$(GST_OBJECT_MODEL_HDR) \
|
|
gstobject.h \
|
|
gsttypes.h \
|
|
gstautoplug.h \
|
|
gstbin.h \
|
|
gstbuffer.h \
|
|
gstbufferpool.h \
|
|
gstcaps.h \
|
|
gstclock.h \
|
|
gstcpu.h \
|
|
gstdata.h \
|
|
gstelement.h \
|
|
gstevent.h \
|
|
gstextratypes.h \
|
|
gstinfo.h \
|
|
gstlog.h \
|
|
gstpad.h \
|
|
gstpipeline.h \
|
|
gstplugin.h \
|
|
gstpluginfeature.h \
|
|
gstprops.h \
|
|
gstqueue.h \
|
|
gstscheduler.h \
|
|
gstthread.h \
|
|
gsttrace.h \
|
|
gsttype.h \
|
|
gsttypefind.h \
|
|
gstutils.h \
|
|
gsttimecache.h \
|
|
gstparse.h \
|
|
gstversion.h \
|
|
gstxml.h
|
|
|
|
noinst_HEADERS = \
|
|
gst_private.h \
|
|
gstarch.h \
|
|
gstpropsprivate.h
|
|
|
|
libgst_la_CFLAGS = -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
|
|
$(LIBGST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS) \
|
|
-D_GNU_SOURCE \
|
|
-DG_LOG_DOMAIN=g_log_domain_gstreamer \
|
|
-DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
|
|
-W -Wpointer-arith -Wbad-function-cast \
|
|
-Wcast-align -Wsign-compare \
|
|
-Wmissing-prototypes -Wmissing-declarations \
|
|
-Wnested-externs \
|
|
-Winline -Wno-unused
|
|
|
|
libgst_la_LIBADD = $(XML_LIBS) $(GLIB_LIBS)
|
|
|
|
libgst_la_LDFLAGS = -version-info $(GST_LIBVERSION)
|
|
|
|
EXTRA_DIST = ROADMAP
|