gstreamer/ChangeLog
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

345 lines
13 KiB
Text

2004-01-06 Jan Schmidt <thaytan@mad.scientist.com>
* 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-04 David Schleef <ds@schleef.org>
* 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-03 David Schleef <ds@schleef.org>
* 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 David Schleef <ds@schleef.org>
* 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-02 David Schleef <ds@schleef.org>
* gst/gstelement.c: (gst_element_class_init),
(gst_element_base_class_init): ->padtemplates should be cleared
in base_init, since we need to have a fresh list for every
class. (Alternately, we chould copy the list and share the
actual pad templates (not the list), but that would require
changing every plugin to move pad template registration from
base_init to class_init.)
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 David Schleef <ds@schleef.org>
* 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 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstpad.c: (gst_pad_try_relink_filtered):
Fix wrong g_return_if_fail
2004-01-03 Jan Schmidt <thaytan@mad.scientist.com>
* gst/gstbin.c: (gst_bin_class_init):
Change the marshalling of element_added/element_removed
to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER
complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
2004-01-01 David Schleef <ds@schleef.org>
* gst/gstpad.c: (gst_pad_set_explicit_caps),
(gst_pad_explicit_getcaps), (gst_pad_explicit_link),
(gst_pad_use_explicit_caps):
* gst/gstpad.h:
Add new functions. gst_pad_use_explicit_caps() sets up a pad
to use an internal getcaps and link fuction so that negotiation
always results in the explicitly set caps.
gst_pad_set_explicit_caps() sets the explicit caps. These functions
are particularly useful for decoders.
2003-12-31 David Schleef <ds@schleef.org>
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_chain),
(gst_identity_set_property), (gst_identity_get_property):
* gst/elements/gstidentity.h:
* gst/gstqueue.c: (gst_queue_init):
Negotiation fixes.
2003-12-31 David Schleef <ds@schleef.org>
* gst/gstcaps.c: (gst_caps_intersect),
(_gst_caps_normalize_foreach), (gst_caps_normalize):
Implement gst_caps_normalize().
* testsuite/caps/normalisation.c: (main):
Add an additional test
2003-12-31 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gstqueue.c: (gst_queue_init):
use gst_pad_proxy_getcaps()
2003-12-31 David Schleef <ds@schleef.org>
* gst/elements/gstshaper.c: (gst_shaper_link):
* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
* gst/gstqueue.c: (gst_queue_link):
Negotiation fixes.
2003-12-31 David Schleef <ds@schleef.org>
* gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
* gst/gstpad.h: Add functions that are useful as default pad
link and fixate functions for elements.
2003-12-30 David Schleef <ds@schleef.org>
* gst/gstpad.c: (gst_pad_link_try):
Fix segfault when attempting to return to old caps
2003-12-29 David Schleef <ds@schleef.org>
* 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-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-25 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gstinfo.h:
fix GST_DEBUG_CATEGORY_INIT gtk-doc description
* docs/gst/tmpl/gstreamer-unused.sgml:
removed all traces of cvs conflicts
2003-12-24 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac:
* gst/schedulers/cothreads_compat.h:
* libs/Makefile.am:
remove last instances of wingo cothread usage
2003-12-24 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gstplugin.c:
* gst/gstversion.h.in:
* gst/parse/grammar.y:
change comment block from /** to /* when not gtk-doc comments
2003-12-24 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gst.c: whitespace and doc style fixes
2003-12-24 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
2003-12-24 Colin Walters <walters@verbum.org>
* gst/elements/gsttypefindelement.c:
gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
Don't double-free caps.
2003-12-23 David Schleef <ds@schleef.org>
* gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
Many little fixes and additions of debug statements to
get rhythmbox working.
2003-12-23 Colin Walters <walters@verbum.org>
* gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
Use GST_PAD_LINK_SUCCESSFUL.
2003-12-23 David Schleef <ds@schleef.org>
* 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 David Schleef <ds@schleef.org>
* 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 David Schleef <ds@schleef.org>
* gst/gstvalue.c:
* gst/gstvalue.h:
Rearrange lots of code. Change registration of compare function
into registration of compare/serialize/deserialize functions.
Doesn't include implementation of gst_value_[de]serialize(),
but that should be easy.
2003-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstprops.sgml: removed
* docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
David removed props and caps code, so let's remove their docs as well.
Removed all no longer existing symbols from gstreamer-sections.txt
2003-12-22 Colin Walters <walters@verbum.org>
* gst/gsttaginterface.c, gst/gsttaginterface.h,
gst/gsttag.c, gst/gsttag.h: Add interface to setting GValues
of tags directly.
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/elements/gstelements.c:
Set ranks of elements to NONE, so the autoplugger doesn't use them.
* gst/elements/gstshaper.c: (gst_shaper_getcaps):
Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
gst_caps (peer).
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
(gst_spider_identity_getcaps), (gst_spider_identity_change_state),
(gst_spider_identity_sink_loop_type_finding):
* gst/autoplug/gstspideridentity.h:
Fix autoplugging in spider element, so it works with new caps.
This was mainly caused by identifying empty caps incorrectly.
2003-12-22 David Schleef <ds@schleef.org>
* gststructure.c, gstvalue.c, gstvalue.h: Add
gst_value_init_and_copy() and use it, to avoid silly mistakes in
using g_value_copy()
2003-12-21 David Schleef <ds@schleef.org>
* many, many files: Merge CAPS branch. This includes:
- implemention of GstValue and several GstValue types
- implemention of GstStructure
- entire rewrite of GstCaps
- removal of GstProps
- many changes to GstPad to compensate for new caps paradigm
- removal of GstBufferpool
* gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
gstvalue.h, gst/gstcaps[2]*.[ch]:
- rename gstcaps2.[ch] to gstcaps.[ch]
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gstqueue.c: (gst_queue_handle_pending_events),
(gst_queue_chain), (gst_queue_handle_src_event):
implement timeout for sending events. Workaround for if the
pipeline on this queue is not passing any data.
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
* moved CVS to freedesktop.org