Commit graph

297 commits

Author SHA1 Message Date
Michael Meeks
d04099240b gst/gst.c (gst_main, gst_main_quit): upd.
Original commit message from CVS:
2001-12-14  Michael Meeks  <michael@ximian.com>

* gst/gst.c (gst_main, gst_main_quit): upd.

* gst/gstutils.c (gst_util_has_arg): impl.
(gst_util_get_int64_arg): impl.

* plugins/mpeg2/video/gstmpeg2play.c
(gst_mpeg2play_class_init): min frames per sec = 0.

* plugins/mikmod/gstmikmod.c (gst_mikmod_class_init):
s/16bit/use16bit/ properties can't begin with a non
alpha.

* tools/gstreamer-guilaunch.c: fresh from the ministy
of nasty hacks.

* tools/Makefile.am: enable gstreamer-guilaunch for
Gnome 2.0

* tools/gstreamer-launch.c (main): upd.
(idle_func): quit the mainloop.
2001-12-14 18:11:52 +00:00
wrobell
08eaa11259 - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...
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.
2001-12-04 22:12:50 +00:00
Wim Taymans
cccc097ca5 API docs. revived _buffer_ref_by_count fast types for scheduler and bin.
Original commit message from CVS:
API docs.
revived _buffer_ref_by_count
fast types for scheduler and bin.
error checking on plugin features;
removed some prototypes that were not implemented (gst_pipeline_iterate
comes to mind)
remove gst_pad_event until we know what it's supposed to do.
remove sinesrc, it wasn't compiles anymore, so...
updates to various elements that used the old event API.
2001-10-21 18:00:31 +00:00
Erik Walthinsen
d574ab8126 merge from EVENTS1 on 20011016
Original commit message from CVS:
merge from EVENTS1 on 20011016
2001-10-17 10:21:27 +00:00
Joshua N. Pritikin
59d6b74a61 1 fix duplicate #define of gst_marshal_VOID__OBJECT_POINTER 2 make g_critical automatically offer to do stack trace
Original commit message from CVS:
1 fix duplicate #define of gst_marshal_VOID__OBJECT_POINTER
2 make g_critical automatically offer to do stack trace
2001-09-13 21:16:25 +00:00
Erik Walthinsen
c6a04366a3 gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions gstbin.c: removed a reference to config.h...
Original commit message from CVS:
gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions
gstbin.c: removed a reference to config.h
gstbuffer.[ch]: added gst_buffer_is_span_fast(), used it in gst_buffer_span
elements/gstfilesrc.c: initial work fleshing out the event handling code

everywhere else: wrapped XML stuff in #ifndef's
2001-09-10 19:46:01 +00:00
Wim Taymans
12bbbd5c1e Lots of modifications to the plugin system.
Original commit message from CVS:
Lots of modifications to the plugin system.
- Added a GstPluginfeature object that serves as a base class for all
plugin contents.
- changed the plugin API, everyhting is now added with
gst_plugin_add_feature
- typefactories are named now so that they can be located easily and filled
in at plugin load.
- mime types like "video/raw image/raw" are gone for now.
- lots of plugin updates (style and API changes)
- tested with an without registry.
- updates to various tools.
- added a little testsuite to test/show how you can load plugins (4 modes)

Test this one, Almost everything has changed :-)
2001-08-21 20:16:48 +00:00
Steve Baker
3cda4e2eaa sync with the current CVS glib API
Original commit message from CVS:
sync with the current CVS glib API
2001-08-13 19:00:13 +00:00
Wim Taymans
6f0bce54fa Removed the final bits of GstMeta.
Original commit message from CVS:
Removed the final bits of GstMeta.
Added conditional compilation of various subsystems.
2001-06-25 20:36:02 +00:00
Erik Walthinsen
18c6ade4d8 gobject2gtk.h: added g2g_object_get_type() prototype gst.c: fixed gst_add_paths_func() prototype gstelement.c: change...
Original commit message from CVS:
gobject2gtk.h: added g2g_object_get_type() prototype
gst.c: fixed gst_add_paths_func() prototype
gstelement.c: changed some prototypes, added a cast
2001-06-25 17:22:58 +00:00
Erik Walthinsen
7f8d8fe8d5 Merged from GOBJECT1 to HEAD at 200106241
Original commit message from CVS:
Merged from GOBJECT1 to HEAD at 200106241
2001-06-25 01:20:11 +00:00
Erik Walthinsen
2703619624 initial pass at #ifdef'ing xml load/save
Original commit message from CVS:
initial pass at #ifdef'ing xml load/save
2001-06-24 21:18:28 +00:00
Steve Baker
921392eee7 added a default bufferpool factory function. it reuses existing instances of bufferpool if requests are made for exis...
Original commit message from CVS:
added a default bufferpool factory function. it reuses existing instances of bufferpool if requests are made for existing buffer sizes
2001-06-17 13:55:55 +00:00
Richard Boulton
785d258c33 Replace NO_X conditional compilation with testing whether DISPLAY env variable is set, and doing gtk_type_init() inst...
Original commit message from CVS:
Replace NO_X conditional compilation with testing whether DISPLAY env
variable is set, and doing gtk_type_init() instead of gtk_init() if not.
2001-06-04 00:51:35 +00:00
Wim Taymans
dd067c0000 optionally call gtk_type_init() instead of gtk_init() if NO_X is defined. This avoids the X dependency of GStreamer.
Original commit message from CVS:
optionally call gtk_type_init() instead of gtk_init() if NO_X is defined. This
avoids the X dependency of GStreamer.
2001-06-03 19:19:45 +00:00
Erik Walthinsen
4a583683e5 Merged from INCSCHED on 200505251!!!
Original commit message from CVS:
Merged from INCSCHED on 200505251!!!
2001-05-25 21:00:07 +00:00
Erik Walthinsen
c02326cf46 Added colorization to DEBUG and INFO. Colors are based on categories, with the strings in _gst_category_colors[] in ...
Original commit message from CVS:
Added colorization to DEBUG and INFO.  Colors are based on categories, with
the strings in _gst_category_colors[] in gstinfo.c  See wiki node
GstDebugColors for the actual colors, or /etc/DIR_COLORS works too.

Please comment on the colorization style and ideas in the above wiki node.
2001-04-27 20:31:22 +00:00
Wim Taymans
0267b92c93 More work on capsnego proxying. It should be OK now.
Original commit message from CVS:
More work on capsnego proxying. It should be OK now.
Added another testcase enum that shows various capsnego algorithms.
Warn about pads that try to set a capability incompatible with their
padtemplate.
Implemented refcounting and copy_on_write for caps/props.
2001-03-20 18:29:00 +00:00
Richard Boulton
d19fde7e35 Fix gst_init() so that it doesn't fail when passed two NULLs as parameters.
Original commit message from CVS:
Fix gst_init() so that it doesn't fail when passed two NULLs as parameters.
Was dereferencing the argv pointer to get progname: now defaults to
"gstprog".
2001-03-09 12:31:07 +00:00
Wim Taymans
58a66780d8 slightly changed the Makefile.am in videoscale libs.
Original commit message from CVS:
slightly changed the Makefile.am in videoscale libs.
v4lsrc works again
A little modification to the videotest programm to use a tee element.
added support for multiple paths in --gst-plugin_path=.
added ab ENV variable GST_PLUGIN_PATH to specify extra directories to
look for plugins.
2001-02-24 00:23:21 +00:00
Erik Walthinsen
35f4d52d7b Added two options: --gst-plugin-spew will print errors when plugins fail to load. --gst-plugin-path= will add a dire...
Original commit message from CVS:
Added two options: --gst-plugin-spew will print errors when plugins fail
to load.  --gst-plugin-path= will add a directory to the path searched for
plugins.
2001-02-23 19:09:18 +00:00
Wim Taymans
1340064d57 More doc updates
Original commit message from CVS:
More doc updates
Manual additions: xml/load save of custom XML, debugging, request pads
added a signal to the example plugin
fixed a bug in mp3parse (ifdef 1)
2001-02-22 23:18:51 +00:00
Wim Taymans
520fbbee75 Moved queue and typefind elements to the core since they are referenced by name.
Original commit message from CVS:
Moved queue and typefind elements to the core since they are referenced
by name.
2001-01-19 00:01:42 +00:00
Wim Taymans
90f82b6840 Added mthodes to request an element to create pads: gst_element_request_pad*
Original commit message from CVS:
Added mthodes to request an element to create pads: gst_element_request_pad*
This can be used to construct a tee and a muxer/mixer/aggregator element.
Moved the tee element to elements/ because it can now be handled with the
new pad request features.
The padfactory also has some changes: a pad can now be of presence REQUEST,
which means that the pad can be requested from this plugin (doh).
2001-01-18 23:46:15 +00:00
Wim Taymans
5193d34848 Handle the tee element like bin, thread, pipeline, so that it can be used in gstreamer-inspect and gstreamer-launch...
Original commit message from CVS:
Handle the tee element like bin, thread, pipeline, so that it can be used
in gstreamer-inspect and gstreamer-launch...
2001-01-07 18:36:30 +00:00
Erik Walthinsen
8cc76f5013 updated the debug system so it works nicely now
Original commit message from CVS:
updated the debug system so it works nicely now
2001-01-01 05:18:07 +00:00
Erik Walthinsen
db7243a77b Added API to control DEBUG level, updated cmdline code
Original commit message from CVS:
Added API to control DEBUG level, updated cmdline code
2001-01-01 04:53:26 +00:00
Erik Walthinsen
1bf936db6d modified cmdlien code to take both 0xHEX and dec, and added an INFO line in gst_pad_connect()
Original commit message from CVS:
modified cmdlien code to take both 0xHEX and dec, and added an INFO line in gst_pad_connect()
2001-01-01 04:41:40 +00:00
Wim Taymans
e2b9080249 Fixed a typo
Original commit message from CVS:
Fixed a typo
2001-01-01 04:04:33 +00:00
Wim Taymans
f3f09b43da Added command line parsing for
Original commit message from CVS:
Added command line parsing for
--gst-info-mask, --gst-debug-mask and --help
Dump the FLAGS and options on --help
2001-01-01 03:43:27 +00:00
Erik Walthinsen
1e04cefaf2 Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
2001-01-01 03:14:40 +00:00
Wim Taymans
860ada25b1 Fixed MPEG2 autoplugging
Original commit message from CVS:
Fixed MPEG2 autoplugging
Added some more INFO to gstthread
2000-12-30 17:42:15 +00:00
Erik Walthinsen
9813b0ca37 Updated more files to use INFO.
Original commit message from CVS:
Updated more files to use INFO.
2000-12-30 02:41:15 +00:00
Erik Walthinsen
a80b0c26d5 Added DEBUG, INFO, and ERROR systems. Very little code is converted yet.
Original commit message from CVS:
Added DEBUG, INFO, and ERROR systems.  Very little code is converted yet.
Policy decisions need to be made as to what kinds of cases get what kind
of response, and what the default ERROR response should be.  Right now it
will print out all the information, then have gdb spew a stack trace.
2000-12-29 10:02:17 +00:00
Erik Walthinsen
ca1c48e95c Updated copyright in all the libgst files.
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
2000-12-28 22:12:02 +00:00
Wim Taymans
bbb9799996 Cleanup in gsttypes.c: removed the crazy GList of GHashTables, since the autoplugger will use the GstCaps and element...
Original commit message from CVS:
Cleanup in gsttypes.c:
removed the crazy GList of GHashTables, since the autoplugger will
use the GstCaps and elementfactories instead of the type system.
We don't maintain a list anymore of the elements for the specific
removed unused code in XML loading/saving.

Cleanup in gstelementfactory:
removed the register/unregister methods, register is now implicit when
gst_elementfactory_new is called. _unregister is now _destroy.
Removed logic to register/unregister the types in gsttypes.
added methods to query if the factory can src/sink a GstCaps
Make sure the elementfactory is set in the element_class when a new
element is registered with gst_elementfactory_new.

gst.c: properly register the basic bins
gst_pipeline: use new gstautoplug (next checkin)
gstprops: fixed an error in compatibility check
registry test program changes
plugins: misc changes for the new caps system.
2000-12-19 13:41:55 +00:00
Erik Walthinsen
da03fde054 WARNING: Don't grab this updated unless you're really, REALLY sure.
Original commit message from CVS:
WARNING: Don't grab this updated unless you're really, REALLY sure.
WARNING: Wait for the next one.

Whole lotta changes here, including a few random bits:

examples/*/Makefile: updated to use `libtool gcc`, not just `gcc`
gst/
gstbuffer.h: updated to new flag style
gst.c, gstdebug.h: added new debugging for function ptrs
gstpipeline.c: set type of parent_class to the class, not the object
gstthread.c: ditto
plugins/
cdparanoia/cdparanoia.c: added an argument type, updated some defaults
cobin/spindentity.c: updated to new do/while loopfunction style
mp3encode/lame/gstlame.c: argument types, whole lotta lame options
tests/: various changes

Now, for the big changes:  Once again, the scheduling system has changed.
And once again, it broke a whole bunch of things.  The gist of the change
is that there is now a function pointer for gst_pad_push and gst_pad_pull,
instead of a hard-wired function.  Well, currently they are functions, but
that's for debugging purposes only, they just call the function pointer
after spewing lots of DEBUG().

This changed the GstPad structure a bit, and the GstPad API as well.
Where elements used to provide chain() and pull() functions, they provide
chain() and get() functions. gst_pad_set_pull[region]_function has been
changed to get_pad_set_get[region]_function.  This means all the elements
out there that used to have pull functions need to be updated.  The calls
to that function have been changed in the normal elements, but the names
of the functions passed is still _pull[region](), which is an aesthetic
issue more than anything.

As for what doesn't work yet, just about anything dealing with Connections
is hosed, meaning threaded stuff won't work.  This will be fixed about 12
hours from now, after I've slept, etc.  The simplefake.c test works in
both cothreaded and chained cases, but not much else will work due to the
Connection problem.  Needless to say, don't grab this unless you *need*
these features *now*, else wait to update this stuff until tomorrow.

I'm going to sleep now.
2000-12-16 10:18:09 +00:00
Wim Taymans
a63780a377 Header cleanup: try to include as little as possible; this will probably speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
2000-12-15 01:57:34 +00:00
Wim Taymans
c125059f97 Added the excellent mpeg2dec decoder. Not 100% optimized but allready very fast.
Original commit message from CVS:
Added the excellent mpeg2dec decoder. Not 100% optimized but allready
very fast.
More cleanup.
2000-11-04 18:54:07 +00:00
Wim Taymans
dbe262dfbb Make sure the Gdk thread lock is not held inside the gstreamer pipeline.
Original commit message from CVS:
Make sure the Gdk thread lock is not held inside the gstreamer pipeline.
Fix the videosink to not hold the Gdk lock when emitting a signal.
All Gtk GUI apps using GStreamer should now handle the Gdk locks when
handling signals from the pipeline (as it should be)
2000-11-02 20:10:08 +00:00
Wim Taymans
8051d54c36 Due to popular demand :-), I added a vorbis decoder.
Original commit message from CVS:
Due to popular demand :-), I added a vorbis decoder.
The encoder is not yet functional.
Small cosmetic changes to gstcpu.c

Beware:
You *need* to install libvorbis.a from the main vorbis CVS.
you *have* to change the line in libtool to
deplibs_check_method="pass_all"
because else the plugin shared library refuses to link against the
static libvorbis.a library. This is a hack. I have no intention in
including libvorbis into the gstreamer CVS tree and making it
libtool compatible.
2000-09-14 20:31:03 +00:00
Wim Taymans
8d2a4dfbec Added CPU detection.
Original commit message from CVS:
Added CPU detection.
Added SSE optimisation to mpeg_play
Modified the mpeg2 decoder and gstidct to use cpu detection.
Cleanups in the mpeg1 and mpeg2 decoders.
2000-09-12 18:13:48 +00:00
Wim Taymans
552b7f32aa Changes to gstreamer-config to include gtk+ libs manual changes: queues, threads, programs gsteditor does not crash a...
Original commit message from CVS:
Changes to gstreamer-config to include gtk+ libs
manual changes: queues, threads, programs
gsteditor does not crash anymore.
gstpipline new should return a GstElement *
fixed ac3dec for new getbits
fixes to gstreamer-launch
more efficient startup for gstplay.
2000-09-09 16:36:10 +00:00
Wim Taymans
7ccc2cf90b Externalized the plugin information in /etc/gstreamer/reg.xml
Original commit message from CVS:
Externalized the plugin information in /etc/gstreamer/reg.xml
- no need to do a plugin_load_all()
- plugins are loaded when needed
- typedetect functions are loaded when needed (still buggy)
- no need to check for the existance of the plugin in the codecs
- added gstreamer-register to create the reg.xml file
- renamed launch to gstreamer-launch
- plugins need to register the typefactory they provide
modified the plugins to meet the new design
modified the plugins to correctly set their pad types
autoplugging can be done without loading the plugins now
2000-08-28 20:20:55 +00:00
Wim Taymans
c2b8daff3a Various cleanups. Moved the overlay code to a specialized widget.
Original commit message from CVS:
Various cleanups. Moved the overlay code to a specialized widget.
One error I cannot seem to fix: switching desktops does not disable the
overlay.
2000-03-13 22:13:11 +00:00
Erik Walthinsen
65e7c2e158 More documentation changes, a couple configure.in and Makefile.am fixes.
Original commit message from CVS:
More documentation changes, a couple configure.in and Makefile.am fixes.
2000-02-02 06:26:44 +00:00
Erik Walthinsen
1762dfbf98 initial checkin
Original commit message from CVS:
initial checkin
2000-01-30 09:03:00 +00:00