2004-01-07 Thomas Vander Stichele * docs/gst/gstreamer-docs.sgml: remove props * docs/gst/gstreamer-sections.txt: remove props * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstpadtemplate.sgml: * docs/gst/tmpl/gstreamer-unused.sgml: * docs/gst/tmpl/gstthread.sgml: * docs/gst/tmpl/gstxml.sgml: sync with code reorganization 2004-01-07 Jan Schmidt * gst/gstelement.c: (gst_element_get_compatible_pad_filtered): Make the 'Could not find compatible pad' message more informative. 2004-01-06 Jan Schmidt * 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 * 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 * 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 * 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 * 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 * 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 * 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 * gst/gstpad.c: (gst_pad_try_relink_filtered): Fix wrong g_return_if_fail 2004-01-03 Jan Schmidt * 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 * 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 * 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 * 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 * gst/gstqueue.c: (gst_queue_init): use gst_pad_proxy_getcaps() 2003-12-31 David Schleef * 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 * 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 * gst/gstpad.c: (gst_pad_link_try): Fix segfault when attempting to return to old caps 2003-12-29 David Schleef * 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 * 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 * 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 * configure.ac: * gst/schedulers/cothreads_compat.h: * libs/Makefile.am: remove last instances of wingo cothread usage 2003-12-24 Thomas Vander Stichele * 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 * gst/gst.c: whitespace and doc style fixes 2003-12-24 Thomas Vander Stichele * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc 2003-12-24 Colin Walters * 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 * 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 * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding): Use GST_PAD_LINK_SUCCESSFUL. 2003-12-23 David Schleef * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer * moved CVS to freedesktop.org