Commit graph

99 commits

Author SHA1 Message Date
Wim Taymans
52e2ba6b1e Made dynamic pads work for sinkpads with no padtemplate
Original commit message from CVS:
Made dynamic pads work for sinkpads with no padtemplate
2002-04-14 11:06:20 +00:00
Andy Wingo
157e961c26 quote spaces in tokens passed to gst_parse_launchv. this restores the old (shell-friendly) quoting behavior.
Original commit message from CVS:
quote spaces in tokens passed to gst_parse_launchv. this restores the old
(shell-friendly) quoting behavior.
2002-04-13 17:11:42 +00:00
Andy Wingo
9ec888681f feeble attempts to handle dynamic connections
Original commit message from CVS:
feeble attempts to handle dynamic connections
2002-04-12 20:06:14 +00:00
Andy Wingo
b214d35eed commit to make gstreamer follow the gtk function/macro naming conventions:
Original commit message from CVS:
commit to make gstreamer follow the gtk function/macro naming conventions:

GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

and the same for *factory and typefind.
2002-04-11 20:35:18 +00:00
Andy Wingo
70cfc6cb4d new parser that uses flex and bison
Original commit message from CVS:
* new parser that uses flex and bison
- doesn't do dynamic pipelines yet...
* added GErrors to the gst_parse_launch[v] api
* added --gst-mask-help command line option
* fixed -o option for gst-launch
* GstElement api change:
- gst_element_get_pad
- gst_element_get_request_pad, gst_element_get_static_pad
- gst_element_get_compatible_pad
- gst_element_get_compatible_static_pad, gst_element_get_compatible_request_pad
- gst_element_[dis]connect -> gst_element_[dis]connect_pads
- gst_element_[dis]connect_elements -> gst_element_[dis]connect
* manual update
* example, tool, and doc updates for the api changes
- no more plugin docs in the core docs, plugins require a more
extensive doc system
2002-04-07 23:32:16 +00:00
Andy Wingo
ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Andy Wingo
0067d17205 removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2002-03-19 04:10:13 +00:00
Andy Wingo
f42c6f238f let's not increment in GST_DEBUG code...
Original commit message from CVS:
let's not increment in GST_DEBUG code...
2002-03-04 05:37:26 +00:00
Andy Wingo
6ff6eb1017 warning fixes gst_object_set_name (name, NULL) uniquifies the name globally
Original commit message from CVS:
* warning fixes
* gst_object_set_name (name, NULL) uniquifies the name globally
- needs robusticizing
* gst_elementfactory_make can now take NULL as a second argument
2002-02-20 21:31:16 +00:00
Wim Taymans
d73903bd22 More pointless cleanups
Original commit message from CVS:
More pointless cleanups
2002-02-02 13:34:44 +00:00
Andy Wingo
a7c3fc7d6c cleaning up duplicated code in gstbin.c added some sanity checks in gstpad.c added checks for failed connections in g...
Original commit message from CVS:
* cleaning up duplicated code in gstbin.c
* added some sanity checks in gstpad.c
* added checks for failed connections in gstparse.c
* better docs in gstxml.c
2002-01-18 22:44:19 +00:00
Andy Wingo
f38969ff25 fix doc build for glib2 remove template files from cvs, they are generated with gtkdoc-mktmpl new, cleaner interface ...
Original commit message from CVS:
* fix doc build for glib2
* remove template files from cvs, they are generated with gtkdoc-mktmpl
* new, cleaner interface to the parser facilities
* cleanups in gstparse.c
2002-01-14 04:09:56 +00:00
Andy Wingo
0b08c3f213 finalize conversion to gst-register
Original commit message from CVS:
finalize conversion to gst-register
2002-01-04 19:47:17 +00:00
Wim Taymans
087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00
Wim Taymans
17649a6679 Added parallel pipeline syntex to the parser. ./gstreamer-launch filesrc location=/opt/data/AlienSong.mpg ! mpegdemux...
Original commit message from CVS:
Added parallel pipeline syntex to the parser.

./gstreamer-launch filesrc location=/opt/data/AlienSong.mpg ! mpegdemux
name=foo video_00! { queue ! mpeg2dec ! sdlvideosink } foo.audio_00! { queue
! mad ! osssink }

should do the trick :)
2001-12-17 14:18:03 +00:00
Thomas Vander Stichele
f972dbb746 fix some of uraeus's commenting fixes can someone also put {} around GST_DEBUG statements after if's ?
Original commit message from CVS:
fix some of uraeus's commenting fixes
can someone also put {} around GST_DEBUG statements after if's ?
2001-12-15 01:01:57 +00:00
Christian Schaller
d6b9ae8b63 aye ladie, no more ugly // comments here, even if Taaz gets upset about it
Original commit message from CVS:
aye ladie, no more ugly // comments here, even if Taaz gets upset about it
2001-12-14 22:59:21 +00:00
Wim Taymans
946aace685 Some code cleanups.
Original commit message from CVS:
Some code cleanups.
2001-12-12 13:04:05 +00:00
Wim Taymans
f5e46974ef Set the pipeline to the paused state when doing dynimic connects.
Original commit message from CVS:
Set the pipeline to the paused state when doing dynimic connects.
2001-12-09 14:44:48 +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
Steve Baker
a4e42f7b06 return a negative error code instead of exiting on parse error
Original commit message from CVS:
return a negative error code instead of exiting on parse error
2001-10-27 13:44:18 +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
Steve Baker
a2107db69a remove ability to set dparams from -launch. this is the only real loss of functionality from moving dparams out of co...
Original commit message from CVS:
remove ability to set dparams from -launch. this is the only real loss of functionality from moving dparams out of core.  Maybe I'll make the parser pluggable ;)
2001-10-07 09:41:08 +00:00
Steve Baker
c30947dc3e crashes that only happen when debugging is on aren't very nice
Original commit message from CVS:
crashes that only happen when debugging is on aren't very nice
2001-09-22 12:27:12 +00:00
Joshua N. Pritikin
68cecc8700 fix warnings
Original commit message from CVS:
fix warnings
2001-09-17 23:44:07 +00:00
Joshua N. Pritikin
8b29840f55 1. Add more warnings for the gst core only. Various trival fixes to quiet the warnings.
Original commit message from CVS:
1. Add more warnings for the gst core only.  Various trival fixes
to quiet the warnings.

2. Fix GstBufferCopyFunc prototype.

3. Re-apply the reverted type!=0 assertion in gst_elementfactory_new.
2001-09-14 22:16:47 +00:00
Steve Baker
12ead469ca no reason to lock
Original commit message from CVS:
no reason to lock
2001-09-14 19:11:52 +00:00
Steve Baker
4f6ea0a611 added to -launch syntax: if an arg is prefixed with a '@' it will be treated as a dparam. eg sinesrc @volume=1.0 @fr...
Original commit message from CVS:
added to -launch syntax: if an arg is prefixed with a '@' it will be treated as a dparam.  eg sinesrc @volume=1.0 @freq=440.0
2001-09-12 11:28:09 +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
Richard Boulton
1c3b5dc57b Allow elements to be given custom names with [] syntax. ie, gstreamer-launch disksrc[mysrc] ! ...
Original commit message from CVS:
Allow elements to be given custom names with [] syntax.

ie, gstreamer-launch disksrc[mysrc] ! ...
makes a disksrc element named mysrc, rather than disksrc0

Suggestion: don't name things with names with numbers at the end, or they
may conflict with names allocated automatically.
2001-06-29 17:53:02 +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
Wim Taymans
5c73a7824c Changed a stupid assert in request_pad.
Original commit message from CVS:
Changed a stupid assert in request_pad.
Some fixes for pullregion and EOS conditions.
Remove an unneeded check in the scheduler (check for NULL buffer)
some EOS fixes for pullregion in disksrc.
Removed the macro in the gstparse.h header 'cause it's internal to gstparse.c
Added a check in gstparse for NULL element.
2001-06-15 19:13:45 +00:00
Steve Baker
933a7aeff4 should restore dynamic connection of pads (couldn't really test it though)
Original commit message from CVS:
should restore dynamic connection of pads (couldn't really test it though)
2001-06-15 06:33:29 +00:00
Steve Baker
c1c2236210 can now take comma delimited list of pads. eg gstreamer-launch disksrc location=~/mp3/gnome.mp3 ! mad ! int2float src...
Original commit message from CVS:
can now take comma delimited list of pads. eg gstreamer-launch disksrc location=~/mp3/gnome.mp3 ! mad ! int2float src%d,src%d\!sink%d,sink%d float2int ! osssink
2001-06-10 11:57:39 +00:00
Steve Baker
76544d6da3 store src and sink pads in slists to get ready for the src1,src2\!sink1,sink2 syntax
Original commit message from CVS:
store src and sink pads in slists to get ready for the src1,src2\!sink1,sink2 syntax
2001-06-09 11:43:58 +00:00
Steve Baker
42d724726c if a named pad doesn't exist, try creating a new pad using the padtemplate name. eg int2float src%d!sink%d float2int
Original commit message from CVS:
if a named pad doesn't exist, try creating a new pad using the padtemplate name. eg int2float src%d!sink%d float2int
2001-06-09 10:16:12 +00:00
Wim Taymans
c416297af4 Changed the maxcothreads to 16. connect to the new_ghost_pad signal in parse.
Original commit message from CVS:
Changed the maxcothreads to 16.
connect to the new_ghost_pad signal in parse.
2001-06-06 18:29:57 +00:00
Thomas Vander Stichele
7f41ebff13 added an eos handler so that gstreamer-launch quits when the first element fires it
Original commit message from CVS:
added an eos handler so that gstreamer-launch quits when the first element
fires it
2001-06-04 15:38:44 +00:00
Wim Taymans
704918c3fa Added the possibility to escape chars in gstparse. You can now give it a cmdline like disksrc location=some\ sort\ of...
Original commit message from CVS:
Added the possibility to escape chars in gstparse. You can now give it a
cmdline like disksrc location=some\ sort\ of.mp3 ! .... and it does the
right thing.
2001-05-20 20:05:29 +00:00
Thomas Vander Stichele
90c0acec1c reinstated exit(-1) when gstparse.c doesn't find the plugin mentioned
Original commit message from CVS:
reinstated exit(-1) when gstparse.c doesn't find the plugin mentioned
2001-05-20 14:55:02 +00:00
Erik Walthinsen
f0cc8737ba fixed spelling mistake in user-visible output
Original commit message from CVS:
fixed spelling mistake in user-visible output
2001-05-03 23:21:39 +00:00
Wim Taymans
fe084f66f1 Added dynamic pads to the command line parser. ./gstreamer-launch disksrc location=/some/systemstream.mpg ! mpeg1pars...
Original commit message from CVS:
Added dynamic pads to the command line parser.

./gstreamer-launch disksrc location=/some/systemstream.mpg ! mpeg1parse video_00!
queue ! \{ mp1videoparse ! mpeg_play ! aasink \}

will now work.
2001-05-03 21:44:55 +00:00
Wim Taymans
5a15653ca1 Applied Dominic Ludlam's patch to allow quoted args in gstreamer-launch
Original commit message from CVS:
Applied Dominic Ludlam's patch to allow quoted args in gstreamer-launch
2001-03-06 20:04:42 +00:00
Wim Taymans
2fd9de4142 Added a utility function in gstutils to set an object argument as a string. gstparse.c and gstelement.c now use this ...
Original commit message from CVS:
Added a utility function in gstutils to set an object argument as a
string. gstparse.c and gstelement.c now use this function.
2001-03-03 16:30:10 +00:00
Wim Taymans
51cbf22624 This is a megapatch with the following changes:
Original commit message from CVS:
This is a megapatch with the following changes:

- moved the gchar *name to GstObject, removed the ones in GstElement and
GstPad.
- moved the parent handling completely into GstObject. This cause *all* of
the plugins to fail (except those that used gst_pad_get_parent)
- rearanged the XML save handling.
- GstObject now has a class function save/restore_thyself.
- GstObject has a generic method gst_object_save_thyself, this makes it
possible to fire a signal wehever a new object is loaded. This is needed
so we can add XML save hooks.
- GstXML API has changed slightly. You now have to create a GstXML object
first before you can actually load something. This makes it possible to
attach a signal to GstXML whenever an object is loaded. I'm not sure we
will keep this interface.
- GstObject can now print the path_string without knowing about the GstPad and
GstElement types.
- Added gst_bin_get_by_name_recurse_up to lookup an element in the current
element hierarchy.
- added XML namespaces to the saved pipelines the namespace is:
http://gstreamer.net/gst-core/1.0/
namespaces are needed to distinguish user generated XML from the core XML.

Note that the plugins still contain a macro GST_OBJECT_PARENT that will be
replaced with gst_pad_get_parent shortly.
2001-01-29 00:06:02 +00:00
Wim Taymans
75aa948e0c Docs updates
Original commit message from CVS:
Docs updates
Added XML load from memory functionality
Undid the videosink patch, something else is wrong now on my machine:
no MMX acceleration :-(
2001-01-21 23:20:46 +00:00
Erik Walthinsen
4a5ed7bf58 Got ghostpads to work, even in -launch. Needs more testing still.
Original commit message from CVS:
Got ghostpads to work, even in -launch.  Needs more testing still.
2001-01-20 02:57:46 +00:00
Erik Walthinsen
e33b2e5908 more leak fixes
Original commit message from CVS:
more leak fixes
2001-01-07 07:45:54 +00:00
Erik Walthinsen
ee2d89cb57 turned -launch capabilities into gst_parse_launch()
Original commit message from CVS:
turned -launch capabilities into gst_parse_launch()
2001-01-07 04:00:30 +00:00