Commit graph

246 commits

Author SHA1 Message Date
Benjamin Otte
9df878658c gst/gstcaps.c: add sanity checks
Original commit message from CVS:
2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstcaps.c: (gst_caps_append):
add sanity checks
* gst/gstcaps.h: (gst_caps_debug):
remove, it doesn't exist anymore.
* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
(gst_element_threadsafe_properties_post_run):
make debugging messages not clutter up THREAD debug category
(gst_element_negotiate_pads), (gst_element_clear_pad_caps),
(gst_element_change_state):
update to new caps API
* gst/gstinterface.c: (gst_implements_interface_cast):
don't put vital code in g_return_if_fail
* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
(gst_pad_link_filtered):
add pst_pad_try_link and use it.
(gst_pad_perform_negotiate), (gst_pad_renegotiate):
implement correctly, deprecate first one.
(gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
add and implement.
(gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
implement.
(gst_pad_get_negotiated_caps):
add and implement. Make GST_PAD_CAPS call this function.
(gst_pad_get_caps):
remove unneeded check..
(gst_pad_recover_caps_error):
disable, always return FALSE.
(gst_real_pad_dispose):
don't free caps and appfilter anymore, they're unused.
* gst/gstpad.h:
Reflect changes mentioned above.
* gst/gstsystemclock.c: (gst_system_clock_wait):
Make 'clock is way behind' a debugging message.
* gst/gstthread.c: (gst_thread_change_state):
Fix debugging message
2003-12-27 13:51:31 +00:00
David Schleef
686e3f1805 Fix a few logic bugs in gst_element_get_compatible_pad_filtered() caused by new pad negotiation. Add some debugging,...
Original commit message from CVS:
Fix a few logic bugs in gst_element_get_compatible_pad_filtered() caused
by new pad negotiation.  Add some debugging, and fix logic bug in gstpad.c.
2003-12-24 03:28:27 +00:00
David Schleef
e73192ddb4 Implement gst_pad_can_link_filtered(). Fix a few minor bugs.
Original commit message from CVS:
Implement gst_pad_can_link_filtered().  Fix a few minor bugs.
2003-12-24 02:32:42 +00:00
David Schleef
4441d749e9 Add some sanity tests to gstpad.c. Check that pad is linked before calling gst_pad_try_set_caps() on it in spideride...
Original commit message from CVS:
Add some sanity tests to gstpad.c.  Check that pad is linked before
calling gst_pad_try_set_caps() on it in spideridentity.
2003-12-24 01:39:08 +00:00
David Schleef
778c24a58a gst/elements/: Use gst_pad_proxy_getcaps().
Original commit message from CVS:
* gst/elements/gstaggregator.c:
* gst/elements/gsttee.c:
Use gst_pad_proxy_getcaps().
* gst/gstpad.c:
* gst/gstpad.h:
Add gst_pad_proxy_getcaps(), which filter elements can use
as a generic getcaps implementation.
Fix gst_pad_get_allowed_caps().  It just wasn't doing what
was advertised.
2003-12-23 23:19:07 +00:00
David Schleef
91954ff66b gst/gstpad.c: Rearrange/rewrite much of the pad negotiation code, since it resembled pasta. This actually changes th...
Original commit message from CVS:
* gst/gstpad.c:
Rearrange/rewrite much of the pad negotiation code, since it
resembled pasta.  This actually changes the way some
negotiation works, since the previous code was inconsistent
depending on how it was invoked.  Add (internal) structure
GstPadLink, which is used to hold some information (more in
the future) about the link between two pads.  Fixes a number
of bugs, including random lossage of filter caps when the
initial negotiation is delayed.  A few functions are still
unimplemented.
* gst/gstpad.h:
Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
these when testing GstPadLinkReturn values instead of comparing
directly.
2003-12-23 21:39:35 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Benjamin Otte
46a70fddfb removed GST_*_CAST. Disabling of type checking is done in glib.
Original commit message from CVS:
removed GST_*_CAST. Disabling of type checking is done in glib.
2003-12-13 16:58:29 +00:00
David Schleef
71454fa19c change gst_pad_select() to gst_pad_selectv(), and add/fix gst_pad_select() and gst_pad_select_valist()
Original commit message from CVS:
change gst_pad_select() to gst_pad_selectv(), and add/fix gst_pad_select()
and gst_pad_select_valist()
2003-12-02 04:39:00 +00:00
David Schleef
cd429e460c Change G_TYPE_POINTER to the appropriate type in g_signal_new()
Original commit message from CVS:
Change G_TYPE_POINTER to the appropriate type in g_signal_new()
2003-11-13 02:47:03 +00:00
Jan Schmidt
458e4ada59 Fix a crash when unlinking Ghost pads which was included in the reversion of error changes.
Original commit message from CVS:
Fix a crash when unlinking Ghost pads which was included in the reversion
of error changes.
2003-11-06 16:30:32 +00:00
Benjamin Otte
ea5d0235bd initialise pad->convertfunc only once return FALSE in the default handler if an event wasn't handled
Original commit message from CVS:
initialise pad->convertfunc only once     return FALSE in the default handler if an event wasn't handled
2003-11-05 01:35:32 +00:00
Benjamin Otte
3235f1d4c0 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
2003-10-28 20:25:30 +00:00
Andy Wingo
31d748d332 s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also inc...
Original commit message from CVS:
s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also includes scheduler patches, and probably fixes some queue bugs relating to events and buffers.
2003-10-08 16:06:02 +00:00
Thomas Vander Stichele
7731fe15a6 allow pad push if peer is active
Original commit message from CVS:
allow pad push if peer is active
2003-10-05 19:42:21 +00:00
David Schleef
90abdd2f23 change a debug message to a g_warning().
Original commit message from CVS:
change a debug message to a g_warning().
2003-09-18 22:37:09 +00:00
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
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
b3e15a8f71 add check for setting pad_get and pad_chain functions on wrong type pads.
Original commit message from CVS:
add check for setting pad_get and pad_chain functions on wrong type pads.
2003-09-14 11:04:11 +00:00
David Schleef
4f207a7a8b Add pad->unlinkfunc and gst_pad_set_unlink_function()
Original commit message from CVS:
Add pad->unlinkfunc and gst_pad_set_unlink_function()
2003-08-02 01:52:14 +00:00
David Schleef
88282d4f05 add warning if getcaps function returns an unreferenced caps
Original commit message from CVS:
add warning if getcaps function returns an unreferenced caps
2003-07-13 19:15:30 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
David Schleef
8fb91bef0b Add gst_pad_template_newv() as a va_list alternative to gst_pad_template_new()
Original commit message from CVS:
Add gst_pad_template_newv() as a va_list alternative to
gst_pad_template_new()
2003-06-10 18:23:51 +00:00
Thomas Vander Stichele
31d75cf682 don't recursively call gst_bin_set_state on failure don't do unnecessary state changes
Original commit message from CVS:
don't recursively call gst_bin_set_state on failure
don't do unnecessary state changes
2003-06-07 22:39:11 +00:00
David Schleef
c4e27d225a Fix aliasing problems noticed by gcc-3.3. Suggests that we need to change gst_pad_{push|pull}() to GstData *. (and ...
Original commit message from CVS:
Fix aliasing problems noticed by gcc-3.3.  Suggests that we need to
change gst_pad_{push|pull}() to GstData *.  (and probably others)
2003-05-22 00:05:57 +00:00
Thomas Vander Stichele
bdea7633cd a bunch of gtk-doc fixes
Original commit message from CVS:
a bunch of gtk-doc fixes
2003-05-18 15:03:34 +00:00
Benjamin Otte
c51366dc49 fix wrong caps refcount handling of filtered caps in cornercases.
Original commit message from CVS:
fix wrong caps refcount handling of filtered caps in cornercases.
2003-05-18 03:22:04 +00:00
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