Commit graph

219 commits

Author SHA1 Message Date
Benjamin Otte
05adc8c15c implement proper refcounting of pad's templates and references from real pads to their ghost pads and the other way a...
Original commit message from CVS:
implement proper refcounting of pad's templates and references from real pads to their ghost pads and the other way around - this fixes the segfaults in the player
2003-05-06 21:58:49 +00:00
Benjamin Otte
775fbca9a5 Make events use internal links, too
Original commit message from CVS:
Make events use internal links, too
2003-04-27 21:34:01 +00:00
Wim Taymans
9811bb9aad Added a simple function gst_pad_recover_caps_error that a plugin should call from now on (instead of gst_element_erro...
Original commit message from CVS:
Added a simple function gst_pad_recover_caps_error that a plugin
should call from now on (instead of gst_element_error). This function
will emit a caps_nego_failed signal that the app can catch to resolve
the negotiation failure.
2003-04-17 22:29:31 +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
Wim Taymans
3f8006734d Removed sanity check that does not hold in some cases with the opt scheduler.
Original commit message from CVS:
Removed sanity check that does not hold in some cases with the opt
scheduler.
2003-04-10 22:00:55 +00:00
Benjamin Otte
62d382149a pad linking only works when both elements are not playing
Original commit message from CVS:
pad linking only works when both elements are not playing
2003-04-08 21:07:46 +00:00
Benjamin Otte
42b3e8c7f1 documentation changes (thx Ross)
Original commit message from CVS:
documentation changes (thx Ross)
2003-03-30 18:30:07 +00:00
Wim Taymans
729bbc9c0a Added some extra debugging info
Original commit message from CVS:
Added some extra debugging info
2003-03-25 19:42:19 +00:00
Wim Taymans
efaef0379d Also set the pad filter when proxy negotiating
Original commit message from CVS:
Also set the pad filter when proxy negotiating
2003-03-02 13:59:46 +00:00
Wim Taymans
ecb6dd6c6a so it's no big thing.
Original commit message from CVS:
- API change in padprobes, nobody uses this yet (or could), so it's no big
thing.
2003-02-27 18:56:30 +00:00
Wim Taymans
d7e33dd2ce - Use the eventhandler instead of the event function to send events.
Original commit message from CVS:
- Use the eventhandler instead of the event function to send events.
- make the scheduler setup the eventhandlers
- intercept flush events on pads links that can potentially queue data
and flush it.
- some more debugging info in spider.

I can think of one case where this flush might fail: unconnected pads where
the scheduler has not set up the eventhandler yet. I'll come up with a
solution for that soon.
2003-02-03 22:50:55 +00:00
Wim Taymans
6ad8197d61 - implement FLOATING flag on caps/props
Original commit message from CVS:
- implement FLOATING flag on caps/props
- use gstmemchunk for caps/props
- implement remove_entry for props
- various refcounting functions
- fix refcounting on caps/props
- use tracing for caps/props/propsentries
- fix memleak in transform functions
- fix refcounting on elementfactory padtemplates
- add dispose for padtemplates
- shortcut pad negotiation early on
2003-02-02 19:58:11 +00:00
Wim Taymans
84c67b8f69 Also clear cached connection filter when relinking pads with the clear-flag set.
Original commit message from CVS:
Also clear cached connection filter when relinking pads with the clear-flag
set.
2003-01-23 19:46:38 +00:00
Wim Taymans
1ee670cff4 Added infrastructure to register URI to element+property mappings
Original commit message from CVS:
Added infrastructure to register URI to element+property mappings
2003-01-16 21:22:06 +00:00
Wim Taymans
b695152ed0 No need to _yield here
Original commit message from CVS:
No need to _yield here
2003-01-12 19:33:18 +00:00
Wim Taymans
6dc3e08f51 use the filter on the connection even if the pads don't have caps
Original commit message from CVS:
use the filter on the connection even if the pads don't have caps
2003-01-11 17:07:24 +00:00
David I. Lehn
5a74101933 more connect -> link updates
Original commit message from CVS:
more connect -> link updates
2003-01-09 22:59:37 +00:00
Thomas Vander Stichele
3f68dd5744 oopsie
Original commit message from CVS:
oopsie
2003-01-09 20:25:35 +00:00
Thomas Vander Stichele
f1af3cca60 code cleanups and further deprecation fixes
Original commit message from CVS:
code cleanups and further deprecation fixes
2003-01-09 20:02:34 +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
e8b63df877 Provide intrastructure to not have to pass NULL buffers on errors and interrupts, this should fix some issues with th...
Original commit message from CVS:
Provide intrastructure to not have to pass NULL buffers on errors and
interrupts, this should fix some issues with the optimal scheduler.
2003-01-08 21:33:20 +00:00
Wim Taymans
eb6c33fb23 - Added PAD_NEGOTIATING flag, remove PAD_EOS flag
Original commit message from CVS:
- Added PAD_NEGOTIATING flag, remove PAD_EOS flag
- Try to avoid negotiation in state change if pad were already negotiating
- Added gstquery.c for completeness (maybe merge common functions with
gstformat.c?)
2003-01-01 03:09:39 +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
3b210c32e6 _IS_USABLE also checks for the peer pad, IS_ACTIVE is correct in this case.
Original commit message from CVS:
_IS_USABLE also checks for the peer pad, IS_ACTIVE is correct in this
case.
2002-12-27 04:24:56 +00:00
Wim Taymans
483e647a76 This got accidently removed and screws up seeking a lot
Original commit message from CVS:
This got accidently removed and screws up seeking a lot
2002-12-26 19:01:41 +00:00
Wim Taymans
8b63056472 Commited a bit too much..
Original commit message from CVS:
Commited a bit too much..
2002-12-24 12:48:35 +00:00
Wim Taymans
0f930b062b - Move common function to gstformat
Original commit message from CVS:
- Move common function to gstformat
- sending events on disabled pad is allowed, buffers isn't...
2002-12-22 20:21:27 +00:00
Wim Taymans
f8feed18a0 - queue can change state only when not connected
Original commit message from CVS:
- queue can change state only when not connected
- bufferpools can only be requested from srcpads
2002-12-21 14:21:15 +00:00
Wim Taymans
29e2850eff Documentation updates
Original commit message from CVS:
Documentation updates
2002-12-14 13:02:16 +00:00
Wim Taymans
0539bc2b87 Make sure we don't set caps that violate the (app)filter
Original commit message from CVS:
Make sure we don't set caps that violate the (app)filter
2002-12-06 20:03:57 +00:00
Thomas Vander Stichele
ede132c69c add some debug info
Original commit message from CVS:
add some debug info
2002-11-10 14:28:25 +00:00
Wim Taymans
535d8911aa Do some more checking on the input paramaters
Original commit message from CVS:
Do some more checking on the input paramaters
2002-11-03 15:48:31 +00:00
Wim Taymans
83380aa595 - Added caps as a property
Original commit message from CVS:
- Added caps as a property
- Removed signals in favour of property notification
- Use probes instead of event_received signal
- Small cleanups
2002-11-02 13:31:31 +00:00
Thomas Vander Stichele
731b554fd8 code cleanup and API change (gst_caps_check_compatibility -> gst_caps_is_always_compatible)
Original commit message from CVS:
code cleanup and API change
(gst_caps_check_compatibility -> gst_caps_is_always_compatible)
2002-10-02 07:51:54 +00:00
Thomas Vander Stichele
8e96015d95 code cleanup and more debug output
Original commit message from CVS:
code cleanup and more debug output
2002-10-01 11:42:32 +00:00
Thomas Vander Stichele
b4394102e6 make exit conditions give debug info
Original commit message from CVS:
make exit conditions give debug info
2002-10-01 10:00:39 +00:00
Wim Taymans
e6e1dc2e0e - some cleanups
Original commit message from CVS:
- some cleanups
- revert a patch that needs more thinking..
- move common code and sanity checks in gstscheduler.c instead of the
real schedulers.
- remove sanity checks from the schedulers
2002-09-13 23:02:54 +00:00
Wim Taymans
912e4ef0f9 Maybe this fixes rhythmbox again
Original commit message from CVS:
Maybe this fixes rhythmbox again
2002-09-13 21:41:31 +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
Ronald S. Bultje
5b5274daf2 This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns ...
Original commit message from CVS:
This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns a GstPadConnectReturn, which makes much more sense than a boolean. All plugins have also been changed, so don't worry ;)
2002-09-10 08:52:58 +00:00
Christian Schaller
b9b6c6890a committing many nice little memleaks fixes from Iain, great work dude
Original commit message from CVS:
committing many nice little memleaks fixes from Iain, great work dude
2002-09-08 18:27:36 +00:00
Thomas Vander Stichele
715b449a35 big ass set of useless dog fixes [1] changes to pad code so that NULL names are allowed and useful [1] some API chang...
Original commit message from CVS:

big ass set of useless dog fixes [1]
changes to pad code so that NULL names are allowed and useful [1]
some API changes [2]
lots of code cleanup

[1] approved by wtay [3]
[2] approved by wingo
[3] how long can we keep blaming that code guy that's not back from holidays
yet for everything we commit ?
2002-09-01 20:11:14 +00:00
Andy Wingo
aec2e3353e when going READY->PAUSED, allow try_set_caps on a READY element.
Original commit message from CVS:
when going READY->PAUSED, allow try_set_caps on a READY element.

(approved by wtay ;)
2002-09-01 19:43:06 +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
cadff5e813 Some more event flags some more padquery types
Original commit message from CVS:
Some more event flags
some more padquery types
Better debugging in _pad_get_caps
ref the caps before adding them to a padtemplate
2002-08-02 11:40:27 +00:00
Wim Taymans
58377870e8 - some pad.h reorg, better grouping of function
Original commit message from CVS:
- some pad.h reorg, better grouping of function
- added methods and default implementations to get supported formats,
seek methods/flags and query types.
- implemented pad activation/disabling
- start negotiation in the READY->PAUSED state
- added GST_PAD_IS_USABLE (better name?) to check if a pad can be used
for data transport (check if connected and peerpad is active)
- added query for segment end
2002-07-24 21:04:50 +00:00
Andy Wingo
efafdb2aa6 be more lenient when loading unconnected pads
Original commit message from CVS:
be more lenient when loading unconnected pads
2002-07-12 19:13:19 +00:00
Wim Taymans
fcb10a6c85 - Removed bufferpool code and move that to gstbuffer.c
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
2002-07-08 19:22:02 +00:00