From dcb3cec6a061b15e7de5e9149f7abf2f53f6fc51 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Tue, 9 Jul 2002 10:27:22 +0000 Subject: [PATCH] merge from BRANCH-RELEASE-0_4_0 Original commit message from CVS: merge from BRANCH-RELEASE-0_4_0 --- Makefile.am | 3 +- RELEASE | 214 +++++++++++++++++++----------------- REQUIREMENTS | 79 +++---------- configure.ac | 8 +- docs/gst/tmpl/gstprops.sgml | 10 -- docs/gst/tmpl/gstxml.sgml | 12 -- gst/gstautoplug.h | 2 +- gst/gstbin.h | 2 +- gst/gstbuffer.h | 3 +- gst/gstclock.h | 2 +- gst/gstcpu.h | 2 +- gst/gstelement.h | 2 +- gst/gstevent.h | 6 +- gst/gstobject.h | 2 +- gst/gstpad.h | 10 +- gst/gstprops.h | 2 +- gst/gstregistry.h | 4 +- gst/gstscheduler.h | 4 +- gst/gstthread.h | 2 +- gst/gsttimecache.h | 2 +- gst/gsttypes.h | 6 +- gstreamer.spec.in | 7 +- tools/Makefile.am | 3 +- tools/gst-feedback | 67 +++++++++++ 24 files changed, 235 insertions(+), 219 deletions(-) create mode 100755 tools/gst-feedback diff --git a/Makefile.am b/Makefile.am index fbbf7b2d1f..4564aa5387 100644 --- a/Makefile.am +++ b/Makefile.am @@ -25,14 +25,13 @@ SUBDIRS = include gst libs tools \ # These are all the possible subdirs DIST_SUBDIRS = include libs gst tools tests testsuite examples docs - pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gstreamer.pc EXTRA_DIST = gstreamer.spec.in \ gstreamer.pc.in gstreamer-uninstalled.pc.in \ configure.ac autogen.sh depcomp \ - LICENSE REQUIREMENTS ABOUT-NLS RELEASE DOCBUILDING DEVEL \ + REQUIREMENTS ABOUT-NLS RELEASE DOCBUILDING DEVEL \ idiottest.mak common dist-hook: diff --git a/RELEASE b/RELEASE index 5174d26c59..10d115f6c9 100644 --- a/RELEASE +++ b/RELEASE @@ -1,99 +1,104 @@ - GStreamer "30 Second Frenchman" 0.3.4 released - - RELEASE NOTES + GStreamer "Desperately Seeking Sexiness" 0.4.0 released The GStreamer team is happy to announce another release of the - GStreamer streaming-media framework. + GStreamer streaming-media framework. We are quickly moving forward at + this time and more and more applications using GStreamer are popping + up. Please see the [1]release page for availability of source and + binary packages. -Focus of this release +Updates and Enhancements - This release fixes a few developer usability issues. + General - A few of the API functions have been changed to offer better - functionality and to be more consistent with other toolkits (GLib, - GTK). - Sample changes: - * gst_elementfactory_make to gst_element_factory_make - * GST_PADTEMPLATE_* to GST_PAD_TEMPLATE_* + * Graphical pipeline editor (gst-editor) ported to GNOME 2.0 + * Autobuild system using [2]bitches to generate good RPMs + * Apt for rpm repository for GStreamer and plug-in dependencies on + RedHat 7.2 and 7.3, for both Ximian Red-Carpet Gnome 2 and + Gnomehide. See [3]http://gstreamer.net/releases/redhat/ + * Red-Carpet GStreamer channel under construction. + * GConf schemas distributed for centralised sink settings + * Moved to [4]http://bugzilla.gnome.org/ for bug reports. Bugzilla + is more convenient than SourceForge's system, and Gnome already + has a system running. Thanks to Gnome for the support. + * Created a gst-feedback script to gather system information to be + added to a bug report for better debugging. - This release of GStreamer has been primarily made in support of - RhythmBox. It should really work with their upcoming 0.2.0 release. + Core - The gst-launch parsing has been bisonified. This allows for better and - more consistent command-line parsing. Accordingly, some changes in the - dynamic pad treatment have been made as well. - The registry handling has been changed. gst-register will now write to - a local registry (in ~/.gstreamer/reg.xml) if it does not have - permissions to write to the global registry. Normal applications not - running as root will prefer this local registry if it exists, and fall - back to the global otherwise. - Also, a --gst-registry option has been added to all gst applications. - If this is specified, then the application will ONLY use this - registry. This is useful for testsuites inside the core as well as - general testing of plugins. + * New much improved registry system implemented. + * New event-driven seek support. Event system is now working and + implemented + * Header files are now in a versioned directory to ease build pains. + * Improvements and bugfixes todparams. + * Docs updated, registry and system clock documentation added + * More tests added for improved troubleshooting + * Cothreads code made more POSIX-compatible + * PowerPC portability fixes - GStreamer is now in Gnome's Bugzilla. Please file bugs against us - there whenever you find them ! + Plug-ins -Changes in the 0.3.x tree + * Quicktime plug-in rewritten + * [5]Effectv video effects plug-ins included + * Audio effect plug-ins fixes (int2float, floatcast etc.) + * A new filter plug-in for audio filters + * OSS plug-in fixes + * Audiofile plug-in works again (depends on upstream patch getting + included) + * lavencode plug-in renamed yuv4mpeg + * Synaesthesia plug-in added to gst-visualisation packages + * [6]Jack plug-in working and packaged -- CVS Jack required + * Floatcast plug-in added + * Include file setup fixes + * Avi plug-in ported to avifile 0.7.7 + * Lots of fixes and cleanups on the DV plug-in + * libfame plug-in added (mpeg4) + * libdvdnav plug-in added + * Better URI handling in gnome-vfs plug-in + * RTP plug-in updated and ported to the [7]oRTP library - The 0.3.x tree is our first tree using GLib 2.0 and libxml2 as the - sole compile platform. We have also started including all our - documentation in our RPMS starting this tree. People wanting to build - GStreamer themselves with documentation should look at the DOCBUILDING - file for some information on what packages are needed to build that - successfully. +Known Issues - Another new feature of this release tree is the gst-launch-ext - command-line application. It uses predefined pipelines to play back - media files based on their file extension. This means that you don't - need to construct your own pipelines using gst-launch if all you want - to do is play a file. Just type gst-launch-ext [filename] and the - audiofile or movie plays for you. This of course also being a work in - progress means that sometimes it might decide on the wrong pipeline, - or cause jitter, as well as random headaches. + GStreamer currently ships with two schedulers, named 'basic' and + 'standard'. Basic is the one we have been shipping for a long time now + and is still the default in GStreamer 0.4.0. There are however some + limitations and threadrelated bugs in basic. These limitations are not + present in standard, but unfortunately standard does not work with + i686 glibc atm due to differences in the way threads are handled + compared to other architectures including i386. We hope to get the + remaining issues in standard fixed before 0.4.1 and use that as + default. - For help building GStreamer, take a look at our [1]build help document - . + As for the bugs in basic we did not feel they warranted not releasing + 0.4.0 as they are rather obscure. For instance if you are using + Rhythmbox you will need to be playing over 500 songs nonstop to + trigger it. -Updates and Enhancements in this release + If you want to test the standard scheduler, run your GStreamer + application with --gst-scheduler=standard - * Improved API naming - * New registry handling, allowing for global, local or specified - registry - * bison parser - * gst-launch-ext dynamic pad fixes - * various fixes in mad and vorbisdec for RhythmBox - -Previously, in the 0.3.x tree - - * devhelp documentation - * New and improved Props API - * New master clock system - * dxr3 plugin - * libcolorspace plugin - * Full dparams documentation - * All functions documented (551 functions documented) - * Python bindings - * Portability fixes (no more C++ // style comments) - * a52dec plugin updated to a52dec 0.7.3 API - * gnome-vfs plugin updated to new seek api - * Misc bug and caps fixes - * SPEC files improvements +GStreamer Homepage More details on these features can be found on the project's website, - [2]http://gstreamer.net/. Source tarballs are also mirrored at - [3]http://gstreamer.net/releases/current/src/. If you use Red Hat (or - possibly other RPM-based systems), RPMs for both GStreamer itself, - external libraries and development tools not included in the standard - reference distribution (RedHat 7.2) can be found in - [4]http://gstreamer.net/releases/current/redhat. + [8]http://gstreamer.net/. - GStreamer is hosted on SourceForge, so support requests and bugs may - be filed as usual. Interested developers of the core library, plugins, - and applications should subscribe to the gstreamer-devel list. If - there is sufficient interest we will create more lists as necessary. +Support + + We use [9]Gnome's Bugzilla for bug reports and feature requests. The + "product name" is GStreamer (capital G). Please do the following + before writing a bug report : +gst-feedback > feedback 2>&1 + + and attach the file "feedback" to your bug report, so that we have + some information useful in the debugging process. + +Developers + + GStreamer is [10]hosted on SourceForge. All code is in CVS and can be + checked out from there. Interested developers of the core library, + plug-ins, and applications should subscribe to the gstreamer-devel + list. If there is sufficient interest we will create more lists as + necessary. We are still looking for people with access to Solaris, HP-UX, Irix and True64 that would be willing to try building and testing @@ -103,33 +108,44 @@ Contributors to this release Core - * Erik Walthinsen - * Wim Taymans - * Thomas Vander Stichele - * Andy Wingo - * Benjamin Otte + * Erik Walthinsen + * Wim Taymans + * Thomas Vander Stichele + * Andy Wingo + * Benjamin Otte + * Steve Baker Plugins and Sample Applications - * Richard Boulton - * David Lehn - * Ronald Bultje - * Bastien Nocera - * Martin Enlund - * Arik Devens - * Jérémy Simon - * Zeeshan Ali Khattak - * Steve Baker - * Rehan Khwaja + * Richard Boulton + * David Lehn + * Ronald Bultje + * Bastien Nocera + * Martin Enlund + * Arik Devens + * Jérémy Simon + * Zeeshan Ali Khattak + * Rehan Khwaja + * Kentarou Fukuchi + * Artyom Baginski + * David Schleef + * Xavier Bestel Misc - * Christian Schaller - * Calum Selkirk + * Christian Fredrik Kalager Schaller + + * Calum Selkirk References - 1. http://gstreamer.net/releases/current/buildhelp.php - 2. http://gstreamer.net/ - 3. http://gstreamer.net/releases/current/src/ - 4. http://gstreamer.net/releases/current/redhat/ + 1. http://gstreamer.net/releases/current/ + 2. http://urgent.rug.ac.be/thomas/ + 3. http://gstreamer.net/releases/redhat/ + 4. http://bugzilla.gnome.org/ + 5. http://effectv.sourceforge.net/ + 6. http://jackit.sf.net/ + 7. http://www.linphone.org/ortp/ + 8. http://gstreamer.net/ + 9. http://bugzilla.gnome.org/ + 10. http://gstreamer.sf.net/ diff --git a/REQUIREMENTS b/REQUIREMENTS index 3cb66df317..9207f93adc 100644 --- a/REQUIREMENTS +++ b/REQUIREMENTS @@ -1,4 +1,4 @@ -GStreamer use a *large* array of tools and libraries, most of which are +GStreamer uses a *large* array of tools and libraries, most of which are optional. We have attempted to make sure that any code that depends on optional libraries doesn't get built unless you have those libraries. If you find this not to be the case, please, let us know by filing a bug @@ -7,92 +7,45 @@ report at http://sourceforge.net/bugs/?group_id=1936. Required libraries: =================== -the latest glib2, currently at v1.3.13 + +the latest glib2, currently at v2.0.4 libxml2 (also called gnome-xml, available from http://xmlsoft.org/) These libraries are all central parts of gnome, and are available from the ftp.gnome.org or its mirrors, amongst other places. + Optional libraries: =================== -gdk_pixbuf -libgnomeui (for gstplay, gsteditor, autoplug example, several tests) -libglade (for gstplay, gsteditor) -libHermes (for colorspace conversions; you need this for any video work) - http://www.clanlib.org/hermes/ -libghttp (for httpsrc) - http://ftp.gnome.org/pub/GNOME/stable/sources/libghttp/ -libaudiofile (for afsrc/afsink) - http://oss.sgi.com/projects/audiofile/ -libmad (for the mad mp3 decoder plugin) - http://www.mars.org/home/rob/proj/mpeg/ -libjpeg (for jpegenc/jpegdec) - http://www.ijg.org/ -libopenquicktime (for the QT plugin) - http://sourceforge.net/projects/openquicktime/ -libXv (for videosink) -libxaudio (for xa mp3 decoder) - http://www.xaudio.com/ -libvorbis (for vorbisenc, vorbisdec) - http://www.xiph.org/ogg/vorbis/index.html -libcdparanoia (for cdparanoia ripper) - http://www.xiph.org/paranoia/index.html -liblame (for lame mp3 encoder) - http://www.mp3dev.org/mp3/ -libshout (for the shoutcast plugin) - http://www.icecast.org -libasound (for the alsa src/sink plugin) - http://alsa-project.org/ -ortp (for the rtp sink plugin) - http://www.linphone.org/ortp/ -aalib (for the aa sink plugin) - http://aa-project.sourceforge.net/aalib/ -aRts (for the arts plugin wrapper, and the artsd sink) - http://www.arts-project.org -raw1394/linux1394 (for the dv plugin) - http://linux1394.sourceforge.net -libdvdread (for the dvdsrc) - http://www.dtek.chalmers.se/groups/dvd/ - (optional: libcss for encrypted DVDs) -libesound (for the esd sink - ftp.gnome.org/pub/GNOME/stable/sources/esound) -gnome-vfs (for the gnome-vfs src) -libgsm (for the gsm plugin) - http://kbs.cs.tu-berlin.de/~jutta/toast.html -sdl (for the sdl sink) - http://www.libsdl.org -xmms (for the xmms plugins wrapper) - http://www.xmms.org -mpeg2dec/a52dec (for mpeg2 related plugins and dvd playback) - http://libmpeg2.sourceforge.net/ - and http://liba52.sourceforge.net/ -avifile (for the avi windows decoder plugins) - http://avifile.sourceforge.net/ - you might want to get the windows libraries - from http://divx.euro.ru/ and put the .dll files - in /usr/lib/win32/ -flac (for the FLAC lossless audio format) - http://flac.sourceforge.net + +The vast number of optional libraries that can be used for plugins are +listed in the REQUIREMENTS document in the gst-plugins package. + + +Required tools: +=============== An extra set of tools is required if you wish to build GStreamer out of CVS (using autogen.sh): -Required tools: -=============== autoconf 2.52 automake 1.5 libtool v1.4 or better -pkgconfig 0.8.0 (http://www.freedesktop.org/software/pkgconfig/) +pkgconfig 0.9.0 (http://www.freedesktop.org/software/pkgconfig/) + Optional tools: =============== + gtkdoc db2html fig2dev xsltproc + Optional debian packages: ========================= + (This is an incomplete list, made only of problems which have been reported, rather than by an audit.) task-helix-gnome-dev OR libgnome-dev diff --git a/configure.ac b/configure.ac index 639f6b7ea0..7fc06fee57 100644 --- a/configure.ac +++ b/configure.ac @@ -305,9 +305,9 @@ if test "x$PLUGINS_USE_BUILDDIR" = xyes; then AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this]) fi -dnl if test "x$USE_DEBUG" = xyes; then -dnl CFLAGS="$CFLAGS -g" -dnl fi +if test "x$USE_DEBUG" = xyes; then + GST_INT_CFLAGS="$GST_INT_CFLAGS -g" +fi if test "x$USE_PROFILING" = xyes; then dnl CFLAGS="$CFLAGS -pg -fprofile-arcs" @@ -379,7 +379,7 @@ AC_SUBST(LIBGST_CFLAGS) dnl Vars for everyone else GST_INT_LIBS="\$(top_builddir)/gst/libgstreamer.la" -GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include" +GST_INT_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)/include" AC_SUBST(GST_CFLAGS, "$LIBGST_CFLAGS $GST_INT_CFLAGS") AC_SUBST(GST_LIBS, "$LIBGST_LIBS $GST_INT_LIBS") diff --git a/docs/gst/tmpl/gstprops.sgml b/docs/gst/tmpl/gstprops.sgml index 160f6d1c52..aa139592e3 100644 --- a/docs/gst/tmpl/gstprops.sgml +++ b/docs/gst/tmpl/gstprops.sgml @@ -265,16 +265,6 @@ An entry hols one key/value pair. @props2: - - - - - -@props: -@name: -@Returns: - - diff --git a/docs/gst/tmpl/gstxml.sgml b/docs/gst/tmpl/gstxml.sgml index ff10c1195f..90fea84649 100644 --- a/docs/gst/tmpl/gstxml.sgml +++ b/docs/gst/tmpl/gstxml.sgml @@ -115,15 +115,3 @@ All GstElements can be serialized to an XML presentation and subsequently loaded @arg2: @gstelement: the object which received the signal. - - - - - - -@gstxml: the object which received the signal. -@arg1: -@arg2: - -@gstelement: the object which received the signal. - diff --git a/gst/gstautoplug.h b/gst/gstautoplug.h index 4f4082319d..fdc1187223 100644 --- a/gst/gstautoplug.h +++ b/gst/gstautoplug.h @@ -48,7 +48,7 @@ typedef enum { GST_AUTOPLUG_TO_CAPS = GST_OBJECT_FLAG_LAST, GST_AUTOPLUG_TO_RENDERER, - GST_AUTOPLUG_FLAG_LAST = GST_OBJECT_FLAG_LAST + 8, + GST_AUTOPLUG_FLAG_LAST = GST_OBJECT_FLAG_LAST + 8 } GstAutoplugFlags; diff --git a/gst/gstbin.h b/gst/gstbin.h index d03d53668d..98574c628b 100644 --- a/gst/gstbin.h +++ b/gst/gstbin.h @@ -61,7 +61,7 @@ typedef enum { GST_BIN_FLAG_FIXED_CLOCK, /* padding */ - GST_BIN_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 5, + GST_BIN_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 5 } GstBinFlags; /*typedef struct _GstBin GstBin; */ diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h index 9e7c096cec..f691c851e6 100644 --- a/gst/gstbuffer.h +++ b/gst/gstbuffer.h @@ -67,7 +67,8 @@ enum { GST_BUFFER_DONTFREE, GST_BUFFER_DISCONTINOUS, GST_BUFFER_KEY_UNIT, - GST_BUFFER_PREROLL, + GST_BUFFER_PREROLL +} GstBufferFlag; GST_BUFFER_FLAG_LAST = GST_DATA_FLAG_LAST + 8, }; diff --git a/gst/gstclock.h b/gst/gstclock.h index c714de4c64..6b811cb354 100644 --- a/gst/gstclock.h +++ b/gst/gstclock.h @@ -68,7 +68,7 @@ typedef enum GST_CLOCK_STOPPED = 0, GST_CLOCK_TIMEOUT = 1, GST_CLOCK_EARLY = 2, - GST_CLOCK_ERROR = 3, + GST_CLOCK_ERROR = 3 } GstClockReturn; struct _GstClock { diff --git a/gst/gstcpu.h b/gst/gstcpu.h index e79b9c916a..8ce6b661d8 100644 --- a/gst/gstcpu.h +++ b/gst/gstcpu.h @@ -28,7 +28,7 @@ typedef enum { GST_CPU_FLAG_MMX = (1<<0), GST_CPU_FLAG_SSE = (1<<1), GST_CPU_FLAG_MMXEXT = (1<<2), - GST_CPU_FLAG_3DNOW = (1<<3), + GST_CPU_FLAG_3DNOW = (1<<3) } GstCPUFlags; void _gst_cpu_initialize (void); diff --git a/gst/gstelement.h b/gst/gstelement.h index 44af35e474..f2aad396f3 100644 --- a/gst/gstelement.h +++ b/gst/gstelement.h @@ -90,7 +90,7 @@ typedef enum { GST_ELEMENT_SCHEDULER_PRIVATE2, /* use some padding for future expansion */ - GST_ELEMENT_FLAG_LAST = GST_OBJECT_FLAG_LAST + 16, + GST_ELEMENT_FLAG_LAST = GST_OBJECT_FLAG_LAST + 16 } GstElementFlags; #define GST_ELEMENT_IS_THREAD_SUGGESTED(obj) (GST_FLAG_IS_SET(obj,GST_ELEMENT_THREAD_SUGGESTED)) diff --git a/gst/gstevent.h b/gst/gstevent.h index 01bb3b23fd..74bf8b5976 100644 --- a/gst/gstevent.h +++ b/gst/gstevent.h @@ -41,7 +41,7 @@ typedef enum { GST_EVENT_QOS, GST_EVENT_SEEK, GST_EVENT_FILLER, - GST_EVENT_SIZE, + GST_EVENT_SIZE } GstEventType; extern GType _gst_event_type; @@ -69,12 +69,12 @@ typedef enum { GST_SEEK_FLAG_FLUSH = (1 << (GST_SEEK_FLAGS_SHIFT + 0)), GST_SEEK_FLAG_ACCURATE = (1 << (GST_SEEK_FLAGS_SHIFT + 1)), - GST_SEEK_FLAG_KEY_UNIT = (1 << (GST_SEEK_FLAGS_SHIFT + 2)), + GST_SEEK_FLAG_KEY_UNIT = (1 << (GST_SEEK_FLAGS_SHIFT + 2)) } GstSeekType; typedef enum { GST_SEEK_CERTAIN, - GST_SEEK_FUZZY, + GST_SEEK_FUZZY } GstSeekAccuracy; typedef struct diff --git a/gst/gstobject.h b/gst/gstobject.h index c5a3d04696..bd73e6913a 100644 --- a/gst/gstobject.h +++ b/gst/gstobject.h @@ -63,7 +63,7 @@ typedef enum GST_DESTROYED = 0, GST_FLOATING, - GST_OBJECT_FLAG_LAST = 4, + GST_OBJECT_FLAG_LAST = 4 } GstObjectFlags; struct _GstObject { diff --git a/gst/gstpad.h b/gst/gstpad.h index a19b8b437b..fd621648e5 100644 --- a/gst/gstpad.h +++ b/gst/gstpad.h @@ -113,14 +113,14 @@ typedef enum { GST_PAD_CONNECT_REFUSED = -1, GST_PAD_CONNECT_DELAYED = 0, GST_PAD_CONNECT_OK = 1, - GST_PAD_CONNECT_DONE = 2, + GST_PAD_CONNECT_DONE = 2 } GstPadConnectReturn; typedef enum { GST_PAD_QUERY_TOTAL, GST_PAD_QUERY_POSITION, GST_PAD_QUERY_LATENCY, - GST_PAD_QUERY_JITTER, + GST_PAD_QUERY_JITTER } GstPadQueryType; /* this defines the functions used to chain buffers @@ -145,14 +145,14 @@ typedef gboolean (*GstPadDispatcherFunction) (GstPad *pad, gpointer data); typedef enum { GST_PAD_UNKNOWN, GST_PAD_SRC, - GST_PAD_SINK, + GST_PAD_SINK } GstPadDirection; typedef enum { GST_PAD_DISABLED = GST_OBJECT_FLAG_LAST, GST_PAD_EOS, - GST_PAD_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4, + GST_PAD_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4 } GstPadFlags; struct _GstPad { @@ -279,7 +279,7 @@ struct _GstGhostPadClass { typedef enum { GST_PAD_ALWAYS, GST_PAD_SOMETIMES, - GST_PAD_REQUEST, + GST_PAD_REQUEST } GstPadPresence; #define GST_PAD_TEMPLATE_NAME_TEMPLATE(templ) (((GstPadTemplate *)(templ))->name_template) diff --git a/gst/gstprops.h b/gst/gstprops.h index 81d8d5c934..61876da36b 100644 --- a/gst/gstprops.h +++ b/gst/gstprops.h @@ -52,7 +52,7 @@ typedef enum { GST_PROPS_FLOAT_RANGE_TYPE, GST_PROPS_INT_RANGE_TYPE, - GST_PROPS_LAST_TYPE = GST_PROPS_END_TYPE + 16, + GST_PROPS_LAST_TYPE = GST_PROPS_END_TYPE + 16 } GstPropsType; #define GST_MAKE_FOURCC(a,b,c,d) (guint32)((a)|(b)<<8|(c)<<16|(d)<<24) diff --git a/gst/gstregistry.h b/gst/gstregistry.h index 098dfbe4d7..eb0779c594 100644 --- a/gst/gstregistry.h +++ b/gst/gstregistry.h @@ -50,14 +50,14 @@ typedef enum { GST_REGISTRY_LOAD_ERROR = (1 << 1), GST_REGISTRY_SAVE_ERROR = (1 << 2), GST_REGISTRY_PLUGIN_LOAD_ERROR = (1 << 3), - GST_REGISTRY_PLUGIN_SIGNATURE_ERROR = (1 << 4), + GST_REGISTRY_PLUGIN_SIGNATURE_ERROR = (1 << 4) } GstRegistryReturn; typedef enum { GST_REGISTRY_READABLE = (1 << 1), GST_REGISTRY_WRITABLE = (1 << 2), GST_REGISTRY_REMOTE = (1 << 3), - GST_REGISTRY_DELAYED_LOADING = (1 << 4), + GST_REGISTRY_DELAYED_LOADING = (1 << 4) } GstRegistryFlags; diff --git a/gst/gstscheduler.h b/gst/gstscheduler.h index 9492bfdc37..d800074e7f 100644 --- a/gst/gstscheduler.h +++ b/gst/gstscheduler.h @@ -46,7 +46,7 @@ typedef enum { GST_SCHEDULER_FLAG_FIXED_CLOCK = GST_OBJECT_FLAG_LAST, /* padding */ - GST_SCHEDULER_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4, + GST_SCHEDULER_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4 } GstSchedulerFlags; #define GST_SCHEDULER_PARENT(sched) ((sched)->parent) @@ -58,7 +58,7 @@ typedef enum { GST_SCHEDULER_STATE_NONE, GST_SCHEDULER_STATE_RUNNING, GST_SCHEDULER_STATE_STOPPED, - GST_SCHEDULER_STATE_ERROR, + GST_SCHEDULER_STATE_ERROR } GstSchedulerState; struct _GstScheduler { diff --git a/gst/gstthread.h b/gst/gstthread.h index 475e5e5e87..70e4f69699 100644 --- a/gst/gstthread.h +++ b/gst/gstthread.h @@ -41,7 +41,7 @@ typedef enum { GST_THREAD_STATE_REAPING, /* padding */ - GST_THREAD_FLAG_LAST = GST_BIN_FLAG_LAST + 4, + GST_THREAD_FLAG_LAST = GST_BIN_FLAG_LAST + 4 } GstThreadState; diff --git a/gst/gsttimecache.h b/gst/gsttimecache.h index 330e57d8bf..eb66394f48 100644 --- a/gst/gsttimecache.h +++ b/gst/gsttimecache.h @@ -43,7 +43,7 @@ typedef enum { GST_TIME_CACHE_CERTAIN, GST_TIME_CACHE_FUZZY_LOCATION, GST_TIME_CACHE_FUZZY_TIMESTAMP, - GST_TIME_CACHE_FUZZY, + GST_TIME_CACHE_FUZZY } GstTimeCacheCertainty; struct _GstTimeCacheEntry { diff --git a/gst/gsttypes.h b/gst/gsttypes.h index 06e6b7ba06..bf8f6b5922 100644 --- a/gst/gsttypes.h +++ b/gst/gsttypes.h @@ -43,19 +43,19 @@ typedef enum { GST_STATE_NULL = (1 << 0), GST_STATE_READY = (1 << 1), GST_STATE_PAUSED = (1 << 2), - GST_STATE_PLAYING = (1 << 3), + GST_STATE_PLAYING = (1 << 3) } GstElementState; typedef enum { GST_STATE_FAILURE = 0, GST_STATE_SUCCESS = 1, - GST_STATE_ASYNC = 2, + GST_STATE_ASYNC = 2 } GstElementStateReturn; typedef enum { GST_RESULT_OK, GST_RESULT_NOK, - GST_RESULT_NOT_IMPL, + GST_RESULT_NOT_IMPL } GstResult; G_END_DECLS diff --git a/gstreamer.spec.in b/gstreamer.spec.in index 8a843099e9..0c4d9ce7f8 100644 --- a/gstreamer.spec.in +++ b/gstreamer.spec.in @@ -105,7 +105,8 @@ cp $RPM_BUILD_DIR/%{name}-%{version}/docs/devhelp/*.devhelp $RPM_BUILD_ROOT/usr/ %post /sbin/ldconfig -%{_prefix}/bin/gst-register --gst-mask=0 +# registry handling is now done automatically +# %{_prefix}/bin/gst-register --gst-mask=0 %post devel # adding devhelp links to work around different base not working @@ -118,12 +119,13 @@ ln -sf %{_datadir}/gtk-doc/html/gstreamer-libs %{_datadir}/devhelp/books %files %defattr(-, root, root) -%doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING +%doc AUTHORS COPYING README TODO COPYING.LIB ABOUT-NLS REQUIREMENTS DOCBUILDING RELEASE %{_bindir}/gst-complete %{_bindir}/gst-compprep %{_bindir}/gst-inspect %{_bindir}/gst-launch %{_bindir}/gst-register +%{_bindir}/gst-feedback %{_libdir}/libgstreamer-%{version}.so.* %{_libdir}/gst/libgstautoplugcache*.so* %{_libdir}/gst/libgstautoplugger*.so* @@ -176,7 +178,6 @@ ln -sf %{_datadir}/gtk-doc/html/gstreamer-libs %{_datadir}/devhelp/books %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstevent.html %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gst.html %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstinfo.html -# %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstpad-template.html %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstparse.html %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstplugin.html %{_datadir}/gtk-doc/html/gstreamer/gstreamer-gstprops.html diff --git a/tools/Makefile.am b/tools/Makefile.am index 2302d56ec0..377cee59e6 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -15,6 +15,7 @@ bin_PROGRAMS = gst-launch \ gst-inspect \ $(GST_LOADSAVE_SRC) \ gst-complete +bin_SCRIPTS = gst-feedback man_MANS = gst-launch.1 gst-register.1 gst-inspect.1 \ gst-complete.1 gst-compprep.1 gst-xmllaunch.1 @@ -42,4 +43,4 @@ gst_xmllaunch_LDADD = $(GST_LIBS) gst_xmllaunch_CFLAGS = $(GST_CFLAGS) -DGST_CONFIG_DIR=\"$(GST_CONFIG_DIR)\" endif -EXTRA_DIST = $(man_MANS) +EXTRA_DIST = $(man_MANS) gst-feedback diff --git a/tools/gst-feedback b/tools/gst-feedback new file mode 100755 index 0000000000..e137b73c7c --- /dev/null +++ b/tools/gst-feedback @@ -0,0 +1,67 @@ +#!/bin/sh +# this script provides feedback for GStreamer debugging +# the user can run this and provide the GStreamer developers with information +# about their system + +command_output () +{ + echo "+++ $1" + $1 +} + +echo "GStreamer feedback script." +echo "Please attach the output of this script to your bug reports." +echo "Bug reports should go into Gnome's bugzilla (http://bugzilla.gnome.org)" +echo + +echo "+ SYSTEM INFORMATION" +command_output "uname -a" + +if test -f /etc/redhat-release; then + echo "+++ distribution: Red Hat" + cat /etc/redhat-release +fi + +if test -f /etc/debian_version; then + echo "+++ distribution: Debian" + cat /etc/debian_version +fi + +command_output "cat /etc/issue" + +echo + +echo "+ USER INFORMATION" +command_output "id" +echo + +echo "+ PKG-CONFIG INFORMATION" +command_output "pkg-config --version" +command_output "pkg-config gstreamer --modversion" +command_output "pkg-config gstreamer --cflags" +command_output "pkg-config gstreamer --libs" +command_output "pkg-config gstreamer-libs --modversion" +command_output "pkg-config gstreamer-libs --cflags" +command_output "pkg-config gstreamer-libs --libs" +echo + +echo "+ GSTREAMER INFORMATION" +command_output "which gst-register" +command_output "gst-inspect" +command_output "gst-inspect fakesrc" +command_output "gst-inspect fakesink" +command_output "gst-launch fakesrc num_buffers=5 ! fakesink" + +echo "++ looking for gstreamer libraries in common locations" +for dirs in /usr/lib /usr/local/lib /home; do + if test -d $dirs; then + find $dirs -name libgstreamer* | grep so + fi +done +echo "++ looking for gstreamer headers in common locations" +for dirs in /usr/include /usr/local/include /home; do + if test -d $dirs; then + find $dirs -name gst.h + fi +done +