Commit graph

1822 commits

Author SHA1 Message Date
David Schleef
09012ae0da gst/: Change GstBuffer private structure element names. (all files)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
(gst_filesrc_map_region):
* gst/gstbuffer.c: (_gst_buffer_initialize),
(_gst_buffer_sub_free), (gst_buffer_default_copy),
(gst_buffer_new), (gst_buffer_create_sub),
(gst_buffer_is_span_fast), (gst_buffer_span):
* gst/gstbuffer.h:
Change GstBuffer private structure element names. (all files)
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link):
* gst/gstqueue.h:
Implement getcaps/pad_link functions that handle the case where
there are data in the queue.
2004-01-11 22:11:35 +00:00
Benjamin Otte
a06605e4e3 gst/elements/gstbufferstore.c: initialize debugging structure correctly
Original commit message from CVS:
2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstbufferstore.c:
initialize debugging structure correctly
* gst/elements/gsttee.c: (gst_tee_set_property):
g_object_notify when property was changed
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_change_state):
clear caps correctly
2004-01-11 18:23:48 +00:00
Benjamin Otte
88c4887db3 gst/gstqueue.c: Use better defaults for when a queue should block. This gets rid of jerky playback for quite a few fi...
Original commit message from CVS:
2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstqueue.c: (gst_queue_init):
Use better defaults for when a queue should block. This
gets rid of jerky playback for quite a few files.
It takes more memory.
2004-01-11 17:55:10 +00:00
Thomas Vander Stichele
68df6ee79d make critical more useful
Original commit message from CVS:
make critical more useful
2004-01-10 13:52:44 +00:00
Benjamin Otte
29e4f4c6ba gst/gstinfo.*: Change gst_debug_log(_valist) to take a const format string.
Original commit message from CVS:
2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
(gst_debug_message_get), (gst_debug_log_default):
* gst/gstinfo.h:
Change gst_debug_log(_valist) to take a const format string.
Change prototype of log function and functions using those to
take a GstDebugMessage instead of a string that requires using
gst_debug_message_get.
2004-01-10 01:49:00 +00:00
Benjamin Otte
de60fbda38 gst/gstutils.h: GST_PARENT_CALL and
Original commit message from CVS:
2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstutils.h:
Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
GST_PARENT_CALL_WITH_DEFAULT
* gst/elements/gstaggregator.c:
* gst/elements/gstbufferstore.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gstpipefilter.c:
* gst/elements/gstshaper.c:
* gst/elements/gststatistics.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
use them.
2004-01-08 04:10:18 +00:00
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
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
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
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
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
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
David Schleef
a95a3d2064 Remove these; we don't use them anymore
Original commit message from CVS:
Remove these; we don't use them anymore
2003-12-23 19:21:33 +00:00