Commit graph

3836 commits

Author SHA1 Message Date
Ronald S. Bultje 718b21bfc2 gst/elements/gstfilesink.c: Fix for if we pass NULL as property to location.
Original commit message from CVS:
2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/elements/gstfilesink.c: (gst_filesink_set_location):
Fix for if we pass NULL as property to location.
* gst/elements/gstpipefilter.c: (gst_pipefilter_init),
(gst_pipefilter_handle_event), (gst_pipefilter_chain):
Fix for instantiate-test (see below).
* gst/gststructure.c: (_gst_structure_parse_value):
Fix compile error on gcc-2.96.
* configure.ac:
* tests/Makefile.am:
* tests/instantiate/Makefile.am:
* tests/instantiate/create.c: (create_all_elements), (main):
Add a test that instantiates all elements. This makes it easy to
track dead code for old API/design (like setting event functions
on sink pads and so on).
2004-01-07 13:13:03 +00:00
David Schleef aa40b1516b Revert last change, because it was unintended.
Original commit message from CVS:
Revert last change, because it was unintended.
2004-01-06 21:41:05 +00:00
David Schleef 1352e57bf6 Disable some poisoning, since some plugins rely on undefined behavior
Original commit message from CVS:
Disable some poisoning, since some plugins rely on undefined behavior
2004-01-06 21:39:53 +00:00
Jan Schmidt baa7050fd2 Make the "could not find compatible pad' message more informative
Original commit message from CVS:
Make the "could not find compatible pad' message more informative
2004-01-06 16:28:43 +00:00
David Schleef 74c1f385b0 A checklist of things to check in elements
Original commit message from CVS:
A checklist of things to check in elements
2004-01-05 21:29:35 +00:00
Jan Schmidt c1d837b9d5 gst/gstcaps.c: Move the poisoning to allow a NULL structure
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_append_structure):
Move the poisoning to allow a NULL structure
* gst/gstevent.c: (_gst_event_free):
When freeing a navigation event, free the structure
also
2004-01-05 16:25:31 +00:00
David Schleef 2f85a255ba gst/elements/gsttee.c: Remove usage of gst_pad_proxy_fixate.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
Remove usage of gst_pad_proxy_fixate.
* gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
(gst_caps_split_one), (gst_caps_replace):
Add poisoning code.
* gst/gstmarshal.list:
Add pointer__pointer for fixate signal
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
(gst_pad_set_explicit_caps), (gst_pad_template_new):
Add poisoning code. Add fixate signal on RealPad. Change
set_explicit_caps() to take const GstCaps, like try_set_caps().
* gst/gstpad.h:
* testsuite/caps/Makefile.am:
* testsuite/caps/app_fixate.c: Add a test for the fixate signal
2004-01-04 23:43:11 +00:00
David Schleef 582fdaa3b2 Fix segfaults caused by last checkin and add a few more checks.
Original commit message from CVS:
Fix segfaults caused by last checkin and add a few more checks.
2004-01-03 10:39:57 +00:00
David Schleef 599926b18e gst/elements/gsttypefindelement.c: Use gst_pad_use_explicit_caps for src pad.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init):
Use gst_pad_use_explicit_caps for src pad.
* gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
before using it.
2004-01-03 10:01:35 +00:00
David Schleef d4142ec0a0 gst/gstelement.c: Fix to allow DELAYED to indicate that linking was successful.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_pads_filtered),
(gst_element_negotiate_pads): Fix to allow DELAYED to indicate
that linking was successful.
* gst/gstpad.c: (gst_pad_link_free),
(gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
(gst_pad_link_try), (gst_pad_link_unnegotiate),
(gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
GstPadLinkReturn correctly between functions, and don't fail
when DELAYED is used (DELAYED is very important).  Better
cleanup on unlinking and unnegotiation.  Should fix some spider
bugs.
2004-01-03 09:25:04 +00:00
David Schleef f69c95d94c Move padtemplate clearing from class_init to base_init
Original commit message from CVS:
Move padtemplate clearing from class_init to base_init
2004-01-03 01:25:01 +00:00
Ronald S. Bultje 8dd4d19854 gst/gstelement.c: Refuse registering a pad template if another pad template with the same name already exists (#114715).
Original commit message from CVS:
2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gstelement.c: (gst_element_class_add_pad_template):
Refuse registering a pad template if another pad template
with the same name already exists (#114715).
2004-01-02 23:52:59 +00:00
David Schleef a77e6e35e4 gst/gstcaps.c: Add new function.
Original commit message from CVS:
* gst/gstcaps.c: (_gst_structure_is_equal_foreach),
(gst_caps_is_equal_fixed): Add new function.
* gst/gstcaps.h: ditto.
* gst/gstpad.c: (gst_real_pad_class_init),
(gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
(gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
check new caps against existing caps -- if they're the same, return
OK without renegotiating.  caps-nego-failed signal fixed so that
the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
to save an extra caps copy.  Don't complete negotiation if a pad
link function returns DELAYED.
2004-01-02 23:04:14 +00:00
Benjamin Otte 62d2803d5d gst/gstpad.c: Fix wrong g_return_if_fail
Original commit message from CVS:
2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstpad.c: (gst_pad_try_relink_filtered):
Fix wrong g_return_if_fail
2004-01-02 19:10:44 +00:00
Jan Schmidt de0c9fba96 Change the marshalilng of element_added/element_removed signals to use gst_marshal_VOID__OBJECT over gst_marshal_VOID...
Original commit message from CVS:
Change the marshalilng of element_added/element_removed signals to use
gst_marshal_VOID__OBJECT over gst_marshal_VOID__POINTER
2004-01-02 15:41:08 +00:00
David Schleef 15a286a3ec Clean up some code in last checkin. Fix minor bug where allowed_caps were incorrectly used for negotiation.
Original commit message from CVS:
Clean up some code in last checkin.  Fix minor bug where allowed_caps
were incorrectly used for negotiation.
2004-01-02 10:01:11 +00:00
David Schleef 9ad670e297 Add new use_explicit_caps() and set_explicit_caps() functions.
Original commit message from CVS:
Add new use_explicit_caps() and set_explicit_caps() functions.
2004-01-02 07:02:43 +00:00
David Schleef 1af3878c8f remove bogus FIXME
Original commit message from CVS:
remove bogus FIXME
2004-01-02 06:58:17 +00:00
David Schleef fcfb110e96 minor wording change
Original commit message from CVS:
minor wording change
2004-01-02 06:57:32 +00:00
David Schleef e7d186c69a Negotiation fixes
Original commit message from CVS:
Negotiation fixes
2004-01-01 02:23:47 +00:00
David Schleef 58f4b89e95 Implement gst_caps_normalize()
Original commit message from CVS:
Implement gst_caps_normalize()
2004-01-01 02:17:44 +00:00
Ronald S. Bultje dd6ba0b28e gst/gstqueue.c: use gst_pad_proxy_getcaps()
Original commit message from CVS:
2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gstqueue.c: (gst_queue_init):
use gst_pad_proxy_getcaps()
2003-12-31 11:08:01 +00:00
David Schleef 2ecb08f2bd Negotiation fixes
Original commit message from CVS:
Negotiation fixes
2003-12-31 08:09:38 +00:00
David Schleef 8f8aaf83f4 Add functions useful default pad_link and fixate functions.
Original commit message from CVS:
Add functions useful default pad_link and fixate functions.
2003-12-31 08:06:49 +00:00
David Schleef 1933a78c8e Fix segfault caused by last checkin
Original commit message from CVS:
Fix segfault caused by last checkin
2003-12-30 19:11:03 +00:00
David Schleef cd1d72deb2 gst/gstcaps.*: Add simplify function
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
(gst_caps_structure_simplify), (gst_caps_simplify):
* gst/gstcaps.h:
Add simplify function
* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
(gst_pad_perform_negotiate), (gst_pad_is_negotiated):
* gst/gstpad.h:
Copy over srcnotify, sinknotify when calling old pad_link
functions.  Add new is_negotiated() function.
* gst/gststructure.c: (gst_structure_copy):
Fix an incredibly stupid bug that should have been noticed
weeks ago.  _copy() returned the argument, not the new copy.
2003-12-30 04:59:48 +00:00
Thomas Vander Stichele abe422b141 reorganizing manual so that concepts are explained before code is shown.
Original commit message from CVS:
reorganizing manual so that concepts are explained before code is shown.
needs some proofreading, will get to it.
2003-12-29 14:15:02 +00:00
Thomas Vander Stichele 1b407ae8d4 add faq entry for building form source
Original commit message from CVS:
add faq entry for building form source
2003-12-29 14:09:59 +00:00
Benjamin Otte 85374eb1a9 forgot important file in commit it seems...
Original commit message from CVS:
forgot important file in commit it seems...
2003-12-29 09:50:46 +00:00
Benjamin Otte a8a68d0c0c only call link functions to restore old link if the old link was negotiated
Original commit message from CVS:
only call link functions to restore old link if the old link was negotiated
2003-12-27 15:49:15 +00:00
Benjamin Otte f98a10e5d0 set freed caps to NULL
Original commit message from CVS:
set freed caps to NULL
2003-12-27 14:09:51 +00:00
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
Thomas Vander Stichele 6cc7e04989 fix GST_DEBUG_CATEGORY_INIT description
Original commit message from CVS:
fix GST_DEBUG_CATEGORY_INIT description
2003-12-25 09:42:56 +00:00
Thomas Vander Stichele d2b1c2c2f1 removing conflict traces
Original commit message from CVS:
removing conflict traces
2003-12-25 09:36:00 +00:00
Thomas Vander Stichele e448390775 removing last mentions of wingo cothreads
Original commit message from CVS:
removing last mentions of wingo cothreads
2003-12-24 15:11:20 +00:00
Thomas Vander Stichele 47274a1abe fix non-gtk-doc comment blocks
Original commit message from CVS:
fix non-gtk-doc comment blocks
2003-12-24 14:39:46 +00:00
Thomas Vander Stichele dfedf4271f whitespace and doc style fixes
Original commit message from CVS:
whitespace and doc style fixes
2003-12-24 14:36:03 +00:00
Thomas Vander Stichele 28f19dd965 remove trailing comma for gtk-doc
Original commit message from CVS:
remove trailing comma for gtk-doc
2003-12-24 12:55:00 +00:00
Colin Walters 5d39cbbd4e Make GstCaps parameter const. Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED. Don't double-fre...
Original commit message from CVS:
Make GstCaps parameter const.  Copy caps parameter. Use _POINTER to
marshal caps instead of _BOXED.  Don't double-free caps.Use
GST_PAD_LINK_SUCCESSFUL.
2003-12-24 07:42:43 +00:00
David Schleef a7ef9c4a68 I'm too lazy to comment this
Original commit message from CVS:
*** empty log message ***
2003-12-24 03:36:47 +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 f94d6d1d47 Check caps for NULL before copying
Original commit message from CVS:
Check caps for NULL before copying
2003-12-24 00:26:45 +00:00
David Schleef 473c2e6446 Fix bug in _gst_caps_value_copy() that could cause GValue corruption
Original commit message from CVS:
Fix bug in _gst_caps_value_copy() that could cause GValue corruption
2003-12-24 00:02:17 +00:00
Colin Walters fa4316c123 Use GST_PAD_LINK_SUCCESSFUL.
Original commit message from CVS:
Use GST_PAD_LINK_SUCCESSFUL.
2003-12-23 23:37:54 +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 b121bf3571 Fix typo in last checkin that caused a regression.
Original commit message from CVS:
Fix typo in last checkin that caused a regression.
2003-12-23 21:22:38 +00:00
David Schleef 63079b12bc Rearrange lots of code. Change registration of compare function into registration of compare/serialize/deserialize f...
Original commit message from CVS:
Rearrange lots of code.  Change registration of compare function
into registration of compare/serialize/deserialize functions.
2003-12-23 20:58:05 +00:00