Commit graph

131 commits

Author SHA1 Message Date
Thomas Vander Stichele
c4c3c998df reverting error patches before making a branch.
Original commit message from CVS:
reverting error patches before making a branch.
2003-09-16 09:57:31 +00:00
Benjamin Otte
9afd27f29b update default error callback to new error signal
Original commit message from CVS:
update default error callback to new error signal
2003-09-15 01:36:53 +00:00
Benjamin Otte
be1eaa4de3 implement translatable error messages using gerror.
Original commit message from CVS:
implement translatable error messages using gerror.

Includes bugfixes for:
- crash when unlinking Ghostpads
- make *_PAD_* macros use glib casts
- make spider typefinding merge buffers correctly
2003-09-14 19:49:32 +00:00
David Schleef
c4d186ec85 Er, plugins actually use gst_element_factory_set_rank(). Add a define to call gst_plugin_feature_set_rank().
Original commit message from CVS:
Er, plugins actually use gst_element_factory_set_rank().  Add a
define to call gst_plugin_feature_set_rank().
2003-08-19 07:31:24 +00:00
Ronald S. Bultje
9d570688de Remove duplicate rank field (fixes #119510)
Original commit message from CVS:
Remove duplicate rank field (fixes #119510)
2003-08-18 21:14:16 +00:00
Ronald S. Bultje
e2a9a87c64 Implement simple seek API. This can later be extended to work with GstPipeline as arguments and so on *autodetect pro...
Original commit message from CVS:
Implement simple seek API. This can later be extended to work with GstPipeline as arguments and so on *autodetect proper element to send event to and so on), but this'll do as a start... See #116149
2003-08-04 21:48:06 +00:00
Wim Taymans
0b1607785b - added GST_ELEMENT_ERROR flag to mark elements in error and to trap and avoid recursive error loops.
Original commit message from CVS:
- added GST_ELEMENT_ERROR flag to mark elements in error and to trap and
avoid recursive error loops.
- moved state change signal back to original place as it causes lockups.
2003-06-03 21:18:39 +00:00
Benjamin Otte
6cb527fed3 API change: remove gst_object_destroy and #defines to it
Original commit message from CVS:
API change: remove gst_object_destroy and #defines to it
2003-04-15 18:43:57 +00:00
Benjamin Otte
8bfbc81d36 general fixes:
Original commit message from CVS:
general fixes:
- changed newly added locked_state API to work like GStreamer does
- added gst_element_sync_state_with_parent function
- revert: pad linking does not require non-playing state
- updated spider and pipeline parsing to link elements in playing state
- bugfix: pads are now activated when added to a playing element (broke above change)
2003-04-11 00:00:46 +00:00
Benjamin Otte
a03e803bb6 huge modifications, hope i didn't break something:
Original commit message from CVS:
huge modifications, hope i didn't break something:
- added functions for setting/getting locked state of elements. gst_element_lock_state syncs the pads state with the state of its parent.
- made all gst_element_link_* functions call gst_element_link_pads_filtered
- gst_element_link_pads_filtered now accepts NULL as a pad name.
- make sure the link functions are only called when the elements are paused
That's it.
2003-04-08 21:14:23 +00:00
Wim Taymans
1123103926 - Added _LOCKED_STATE element flag
Original commit message from CVS:
- Added _LOCKED_STATE element flag
- parent bin does not perform state changes on _LOCKED_STATE elements
2003-03-25 19:39:18 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Thomas Vander Stichele
5529bbc7dc first pass of connect->link gst-plugins and other stuff compiles without change at this point
Original commit message from CVS:
first pass of connect->link
gst-plugins and other stuff compiles without change at this point
2003-01-09 14:15:37 +00:00
Wim Taymans
347505bcb9 - major API breakage (one of the last, I promise...)
Original commit message from CVS:
- major API breakage (one of the last, I promise...)
- GST_PAD_QUERY -> GST_QUERY
- GstPadQuery -> GstQuery
- Move query definitions to gstquery.h to allow for future dynamic
query types.
- remove _pad_handles_* in favour of extra format/event functions to
make the same checks.
- fix elements
- Implemented missing query/event/formats functions in gstelement
2002-12-30 17:42:11 +00:00
Wim Taymans
a03425c8b3 - disable pads when going to PAUSED, we want to make sure no data is passing when an element is not PLAYING.
Original commit message from CVS:
- disable pads when going to PAUSED, we want to make sure no data is
passing when an element is not PLAYING.
- changed the clock sync API, element should now get a ClockID first and
sync on that. This makes it possible to cancel clock requests.
2002-12-27 22:57:13 +00:00
Wim Taymans
68b53ac4ab - Cleanups
Original commit message from CVS:
- Cleanups
- Added padding to structs
- fixed typechecking/casts
- reduced casts
- implemented remove_element in gstbin
- implemented set index on bin
2002-12-19 21:31:03 +00:00
Wim Taymans
29e2850eff Documentation updates
Original commit message from CVS:
Documentation updates
2002-12-14 13:02:16 +00:00
Wim Taymans
fcd8d12069 Renamed GstCache to GstIndex
Original commit message from CVS:
Renamed GstCache to GstIndex
2002-12-12 22:14:36 +00:00
Thomas Vander Stichele
9a796e2cb5 oops
Original commit message from CVS:
oops
2002-12-08 02:08:47 +00:00
Thomas Vander Stichele
45a34253ac move these to macros
Original commit message from CVS:
move these to macros
2002-12-07 22:18:17 +00:00
Wim Taymans
a48bce0ad6 - Added first attempt at general caching mechanism (GstTimeCache renamed to GstCache)
Original commit message from CVS:
- Added first attempt at general caching mechanism (GstTimeCache renamed
to GstCache)
- Some more clocking checks and updates (waiting on GST_CLOCK_TIME_NONE
returns immediatly instead of blocking forever)
- Moved clock get/set functions to element class instead of instance.
- Added cache methods on elements.
- Renamed GST_PROPS_BOOL_TYPE to GST_PROPS_BOOLEAN_TYPE to make it more
consistent with gst_props_get/set_boolean and GST_PROPS_BOOLEAN.
- Give short stats about plugins in gst-inspect.
2002-11-27 20:47:39 +00:00
Wim Taymans
6637a949e7 Moved deep notify to GstObject
Original commit message from CVS:
Moved deep notify to GstObject
2002-11-02 13:19:30 +00:00
Thomas Vander Stichele
b75745b109 alp's fix
Original commit message from CVS:
alp's fix
2002-10-29 18:39:32 +00:00
Christian Schaller
7abafd429a fix tab vs space
Original commit message from CVS:
fix tab vs space
2002-09-18 19:11:56 +00:00
Christian Schaller
08ca250525 gstreamer part of new license field in element factory
Original commit message from CVS:
gstreamer part of new license field in element factory
2002-09-18 18:58:39 +00:00
Wim Taymans
37a127d9ed - Make the return GList of gst_element_get_pad_list as const
Original commit message from CVS:
- Make the return GList of gst_element_get_pad_list as const
- Pad scheduler refactoring
- Remove gst_pad_set/unset_scheduler as it's not needed
- Reimplement gst_pad_get_scheduler using the parent scheduler
- Remove gst_pad_peek as it cannot work reliably
- Remove the pad bufpen, replace with scheduler private gpointer
- Make queue use the new _get_scheduler implementation
- Remove _pad_unset_scheduler from GstScheduler
- Remove LOOP_SEEK mode from aggregator
- Other fixes for API changes.
2002-09-12 20:52:03 +00:00
Thomas Vander Stichele
1f212d7a8f fixes bug http://bugzilla.gnome.org/show_bug.cgi?id=90333 and similar.
Original commit message from CVS:
fixes bug
http://bugzilla.gnome.org/show_bug.cgi?id=90333
and similar.
I'd like to also do s/guchar/gchar/ in the xml functions, any reason not to ?
please comment ;)
2002-08-12 16:59:39 +00:00
Thomas Vander Stichele
2532399423 fixes bug http://bugzilla.gnome.org/show_bug.cgi?id=90332
Original commit message from CVS:
fixes bug
http://bugzilla.gnome.org/show_bug.cgi?id=90332
2002-08-12 16:40:50 +00:00
Wim Taymans
67b8fe63cf Add default deep_notify and error signal callbacks to core.
Original commit message from CVS:
Add default deep_notify and error signal callbacks to core.
2002-07-30 19:17:25 +00:00
Thomas Vander Stichele
dcb3cec6a0 merge from BRANCH-RELEASE-0_4_0
Original commit message from CVS:
merge from BRANCH-RELEASE-0_4_0
2002-07-09 10:27:22 +00:00
Wim Taymans
ae87d97cb2 - Removed unused locking from the cothreads
Original commit message from CVS:
- Removed unused locking from the cothreads
- use G_*_DECLS in .h files
- remove gstlog.h include from gstobject.h, add to .c files
- removed unused refcounting code from gstobject
- small fixes in #includes
- Added Scheduling policy and priority properties to gstthread so that
SCHED_FIFO and SCHED_RR threads can be constructed.
2002-07-08 19:07:30 +00:00
Thomas Vander Stichele
319a6a3672 strange this didn't get commited on a regular commit
Original commit message from CVS:
strange this didn't get commited on a regular commit
2002-06-13 15:08:52 +00:00
Wim Taymans
280affd3df Remove old flag
Original commit message from CVS:
Remove old flag
2002-06-09 21:14:48 +00:00
Wim Taymans
9e238148e1 Added element query
Original commit message from CVS:
Added element query
2002-06-08 14:59:34 +00:00
Steve Baker
5d902beab8 add a rank to elementfactory for autoplugging
Original commit message from CVS:
add a rank to elementfactory for autoplugging
2002-05-31 08:17:15 +00:00
Wim Taymans
a599a5b1df Created an overridable method for seeking on an element, along with a default implementation.
Original commit message from CVS:
Created an overridable method for seeking on an element, along with a default
implementation.
make queue flush on discont (not entirely correct)
removed the new_media from the discont event.
2002-05-30 19:03:30 +00:00
Wim Taymans
6f96a24d2e - The clock_wait now returns the difference between requested time and unlock time.
Original commit message from CVS:
- The clock_wait now returns the difference between requested time and
unlock time.
- Misc defines like GST_SECOND in gstclock.h
- remove pre/post in gstelement.c until fixed.
- added release_locks to gstelement so that the element can unlock itself
- added some more predefined events.
- added folowing functions to gstpad:
- convert function: get the relation between formats on this pad
- query function: get stats about the pad (position/total/latency)
- internal connect function: find out how this pad connects to other
pad internally to the element.
- generic pad_dispatcher.
- removed the last bits of pullregion
- use release_locks on the queue.
- added some events to queue
- make gstthread use the new release_locks function
- make the scheduler use the new clock_wait functions
- added events to fakesink
- added query functions to filesrc
- swap type and offset in the bytestream seek API to match fseek
- added some event handling in bytestream.
2002-05-26 21:54:27 +00:00
Andy Wingo
d2ed0906a6 implemented threadsafe property set/get system as discussed in docs/random/wingo/threadsafe-properties some cleanups ...
Original commit message from CVS:
* implemented threadsafe property set/get system as discussed in
docs/random/wingo/threadsafe-properties
* some cleanups
* this change will cause binary incompatibilities, better rebuild them plugins

now, off to drink :-)
2002-05-26 03:23:25 +00:00
Thomas Vander Stichele
e8982eaf0f API cleanup: (s/g)et_sched -> _scheduler
Original commit message from CVS:
API cleanup: (s/g)et_sched -> _scheduler
2002-05-25 15:36:59 +00:00
Wim Taymans
086de421dc Totally rewritten registry handling.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups

I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.
2002-05-08 20:40:48 +00:00
Andy Wingo
2b12a668da use contents of GST_REGISTRY variable if --gst-registry is not set
Original commit message from CVS:
use contents of GST_REGISTRY variable if --gst-registry is not set
2002-05-05 17:45:41 +00:00
Wim Taymans
7000e8852e Added method for releasing request pads.
Original commit message from CVS:
Added method for releasing request pads.
Fix state changes.
2002-04-28 13:27:32 +00:00
Thomas Vander Stichele
d38b086c67 api renaming
Original commit message from CVS:
api renaming
2002-04-23 11:15:18 +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
Wim Taymans
f0326eea55 - Remove the propsprivate header file
Original commit message from CVS:
- Remove the propsprivate header file
- Added new API for properties.
- Moved the clock distribution to the scheduler.
- Removed the lock from GstCaps
- Added boxed types for Caps/Props
- Simplified the clock, new systemclock implementation
- Removed deprecated element_info/send_event functions
- First step at exposing more info in the pad_connect functions
- Queue cleanup
- Make the scheduler aware of other schedulers inside it
- Added the _SELF_SCHEDULABLE flag to gstthread
- Removed _get_widget from _utils, changed to new props API
- Make fakesink sync on timestamps when requested
- Removed the offset notify from filesrc
- Added a fast scheduler
- some scheduler cleanups.
2002-03-30 17:05:03 +00:00
Andy Wingo
a43fadec2e s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way added jack ...
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
2002-03-18 04:41:37 +00:00
Andy Wingo
660621ca99 fix bug when requesting pads by name
Original commit message from CVS:
* fix bug when requesting pads by name
* added api: gst_element_get_managing_bin ()
2002-03-06 16:14:34 +00:00
Andy Wingo
cbc6f66cf4 add two apis: gst_element_connect_elements_many (elem1, elem2, ...)
Original commit message from CVS:
* add two apis:
* gst_element_connect_elements_many (elem1, elem2, ...)
- calls gst_element_connect_elements() in order
- should be called gst_element_connect_many, but we need to rename gst_element_connect_elements first
- simplifies common-case code
* gst_bin_add_many (bin, elem1, ...)
- calls gst_bin_add on all of the elems
- again, simplifying common code
2002-02-21 14:44:27 +00:00