2004-01-27 Ronald Bultje * docs/pwg/advanced_interfaces.xml: * docs/pwg/pwg.xml: Add as a placeholder for future filling-in. * docs/pwg/basics_autoplugging.xml: * docs/pwg/basics_buffers.xml: * docs/pwg/basics_elements.xml: * docs/pwg/basics_events.xml: * docs/pwg/basics_plugins.xml: * docs/pwg/basics_types.xml: Remove, because unused (this is all in intro_basics.xml). * docs/pwg/building_signals.xml: Short intro to signals + reference to GObject docs - we really shouldn't go into these sort of things to deply because we don't use them that extensively anyway. * docs/pwg/building_state.xml: Explanation of states. Benjamin, please check. * docs/pwg/building_testapp.xml: Put everything in one page - putting only a few lines of content per page doesn't really make sense. Time to get into the advanced topics. ;). 2004-01-27 Ronald Bultje * docs/pwg/advanced_types.xml: Finish documenting the current state of mimetypes. * docs/pwg/building_boiler.xml: * docs/pwg/building_chainfn.xml: * docs/pwg/building_pads.xml: * docs/pwg/building_props.xml: * docs/pwg/building_testapp.xml: Start documenting the "how to build a simple audio filter" part of the PWG. Most stuff is ready by now. Stuff remaining: signals, states and (maybe?) a short introduction to capsnego in the chapter on pads (building_pads.xml). Capsnego should probably be explained fully in advanced_capsnego.xml or so. 2004-01-26 David Schleef * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed): * gst/gstpad.h: Add new function to allow element to (somewhat) specify non-fixed caps on a pad. * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify() that I added a few weeks ago. 2004-01-26 David Schleef * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change making try_set_caps() work with non-fixed caps. 2004-01-26 Ronald Bultje * docs/pwg/advanced_types.xml: * docs/pwg/intro_basics.xml: * docs/pwg/intro_preface.xml: * docs/pwg/pwg.xml: * docs/pwg/titlepage.xml: First try to resurrect the PWG. I'm halfway integrating the mimetypes in here (docs/random/mimetypes), and will from there on work on both updating outdated parts and adding missing parts. That doesn't mean I'll fix it completely, but I'll try at least. ;). 2004-01-26 Thomas Vander Stichele * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until policy is set 2004-01-26 Benjamin Otte * gst/gstelement.h: remove gst_element_factory_get_version. It doesn't exist anymore. * gst/gstplugin.c: * gst/gstplugin.h: remove gst_plugin_set_name and change gst_plugin_get_longname to gst_plugin_get_description to match code. * gst/gsterror.h: remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE. * gst/gstpad.c: (gst_pad_try_set_caps): make it work with nonfixed caps. Note that even in the nonfixed case the link function of the pad that tries to set caps isn't called. 2004-01-25 Benjamin Otte * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer): fix bug where buffer was not assembled correctly * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init): silence by default * gst/elements/gsttypefind.c: (gst_type_find_element_chain): only seek if there's no more buffers that could work without seeking 2004-01-23 Ronald Bultje * gst/gsttag.c: (_gst_tag_initialize): * gst/gsttag.h: Add application tag (for encoding/muxing app). 2004-01-23 Thomas Vander Stichele * autogen.sh: make autopoint force, and libtoolize not copy * common/m4/as-docbook.m4: added docbook xml catalog setup check * common/m4/gst-doc.m4: use docbook check 2004-01-22 Thomas Vander Stichele * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register): * gst/gsttag.h: add GstTagFlag 2004-01-20 Thomas Vander Stichele * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstreamer-unused.sgml: * docs/gst/tmpl/gstxml.sgml: sync latest API changes to docs 2004-01-20 Thomas Vander Stichele * gst/gstpluginfeature.c: fix doc snippet * tools/gst-inspect.c: (print_element_list): fix output of typefind add GPL header * tools/gst-launch.c: add GPL header 2004-01-20 Thomas Vander Stichele * gst/elements/Makefile.am: * gst/elements/gstelements.c: * gst/elements/gsttypefindelement.c: * gst/elements/gsttypefindelement.h: * po/POTFILES.in: * po/fr.po: * po/nl.po: renamed gsttypefindelement to gsttypefind, conserving CVS history 2004-01-20 Thomas Vander Stichele * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist): * gst/gsttag.h: add some tags used in ogg as well fix _ in replaygain tags 2004-01-20 Thomas Vander Stichele * gst/gsterror.h: fix wrong GST_LIBRARY_ERROR_ENCODE addition 2004-01-20 Thomas Vander Stichele * gst/gstelement.c: (gst_element_error_full): * gst/gstelement.h: change _extended to _full 2004-01-20 Thomas Vander Stichele reviewed by: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstreamer-unused.sgml: * docs/gst/tmpl/gstxml.sgml: * gst/gstelement.c: (gst_element_error_full): * gst/gstelement.h: 2004-01-20 Thomas Vander Stichele * gst/gstelement.h: fix _gst_element_error_printf prototype 2004-01-20 David Schleef * gst/gststructure.c: (gst_structure_to_string): Convert function to use gst_value_serialize(). * gst/gstvalue.c: (gst_value_serialize_list), (gst_value_serialize_fourcc), (gst_value_serialize_int_range), (gst_value_serialize_double_range), (gst_value_serialize_boolean), (gst_value_serialize_int), (gst_value_serialize_double), (gst_string_wrap), (gst_value_serialize_string), (gst_value_serialize), (gst_value_deserialize): * gst/gstvalue.h: Add implementations for serialize. 2004-01-20 Julien MOUTTE * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if we want to keep that one in the future or change xvidenc.c to use another error. 2004-01-19 Thomas Vander Stichele * gst/gstelement.c: (_gst_element_error_printf): * gst/gstelement.h: privatise function 2004-01-19 Thomas Vander Stichele * docs/random/error: doc explaining error system * gst/elements/gstfilesrc.c: (gst_filesrc_open_file): cleanup 2004-01-19 Thomas Vander Stichele * gst/gst-i18n-app.h: * gst/gst-i18n-lib.h: remove inclusion of config.h * po/POTFILES.in: * po/nl.po: add gst/gstelement.c 2004-01-19 Thomas Vander Stichele * po/nl.po: updated Dutch translation 2004-01-19 Thomas Vander Stichele * gst/gsterror.c: (_gst_core_errors_init), (_gst_library_errors_init), (_gst_resource_errors_init), (_gst_stream_errors_init): remove ending punctuation dots 2004-01-19 Thomas Vander Stichele * gst/elements/gstfilesink.c: (gst_filesink_open_file): * gst/elements/gstfilesrc.c: (gst_filesrc_get_read): * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file): * gst/elements/gstpipefilter.c: (gst_pipefilter_get), (gst_pipefilter_chain), (gst_pipefilter_open_file): use GST_ERROR_SYSTEM 2004-01-19 Thomas Vander Stichele * gst/gstelement.c: (gst_element_error_printf), (gst_element_error_extended): * gst/gstelement.h: add a helper printf function so we can have NULL values passed. 2004-01-19 Thomas Vander Stichele * gst/gstelement.h: add G_STMT macros to gst_element_error, which isn't strictly necessary but people tell me to anyway. 2004-01-18 Thomas Vander Stichele * gst/Makefile.am: * gst/autoplug/gstspideridentity.c: (gst_spider_identity_sink_loop_type_finding): * gst/elements/gstfakesink.c: (gst_fakesink_change_state): * gst/elements/gstfilesink.c: (gst_filesink_open_file), (gst_filesink_close_file), (gst_filesink_handle_event), (gst_filesink_chain): * gst/elements/gstfilesrc.c: (gst_filesrc_set_property), (gst_filesrc_map_region), (gst_filesrc_get_read), (gst_filesrc_open_file): * gst/elements/gstidentity.c: (gst_identity_chain): * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file): * gst/elements/gstpipefilter.c: (gst_pipefilter_get), (gst_pipefilter_chain), (gst_pipefilter_open_file): * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain): * gst/gst.h: * gst/gst_private.h: * gst/gstelement.c: (gst_element_class_init), (gst_element_default_error), (gst_element_error_func), (gst_element_error_extended): * gst/gstelement.h: * gst/gsterror.c: (_gst_core_errors_init), (_gst_library_errors_init), (_gst_resource_errors_init), (_gst_stream_errors_init), (gst_error_get_message): * gst/gsterror.h: * gst/gstinfo.c: (_gst_debug_init): * gst/gstmarshal.list: * gst/gstpad.c: (gst_pad_set_explicit_caps), (gst_pad_recover_caps_error), (gst_pad_pull): * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get): * gst/schedulers/gstbasicscheduler.c: (gst_basic_scheduler_chainhandler_proxy), (gst_basic_scheduler_gethandler_proxy), (gst_basic_scheduler_cothreaded_chain): * po/POTFILES.in: * po/fr.po: * po/nl.po: change error signal add error categories 2004-01-18 Jeremy Simon * gst/gsttag.c: (_gst_tag_initialize): * gst/gsttag.h: Add replaygain tag 2004-01-18 Colin Walters * examples/retag/retag.c: Call gst_init before processing program args. Add g_assert to _link_many call. 2004-01-16 Benjamin Otte * gst/gstpad.c: (gst_pad_alloc_buffer): Return a newly allocated buffer when the pad has no peer. 2004-01-16 Benjamin Otte * gst/gstclock.c: (gst_clock_get_time): make it compile with gcc 2.95 again. Patch by Scott Wheeler 2004-01-15 David Schleef * gst/gstcaps.h: Added gst_caps_is_simple() macro. * testsuite/caps/caps.c: (test1): * testsuite/caps/intersect2.c: (main): * testsuite/caps/intersection.c: (main): Fixes to make 'make check' work again after removing gst_caps_is_chained(). 2004-01-15 Leif Johnson * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits and additions to the MIDI document. 2004-01-15 David Schleef * gst/gstelement.c: (gst_element_get_compatible_pad_filtered), (gst_element_link_pads_filtered): Use GST_PAD_ macros instead of GST_RPAD_, since we don't know if it's a real or ghost pad. 2004-01-15 David Schleef * gst/gstqueue.c: * gst/gstqueue.h: Fix the spelling of "treshold" and make min_threshold actually affect the queue. 2004-01-15 David Schleef * gst/gstcaps.c: Add lots of documentation. * gst/gstcaps.h: Deprecate a few functions. * gst/gstpad.c: Removed use of deprecated functions. 2004-01-15 Benjamin Otte * gst/gstpad.c: (gst_pad_is_linked): * gst/gstpad.h: implement gst_pad_is_linked * gst/gstelement.h: reserve space for initiate_state_change 2004-01-15 Benjamin Otte * gst/autoplug/gstspideridentity.c: (gst_spider_identity_sink_loop_type_finding): break infinite loop by just returning instead of looping * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property): set event time difference correctly. Set it to 1 second instead of 100ms to be more tolerant * gst/gstelement.c: (gst_element_set_time): add debugging output 2004-01-14 Benjamin Otte * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link): query if buffers are inside the pool, ignore events 2004-01-13 Benjamin Otte * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init), (gst_clock_set_speed), (gst_clock_set_active), (gst_clock_is_active), (gst_clock_reset), (gst_clock_handle_discont): * gst/gstclock.h: deprecate old interface and disable functions that aren't in use anymore. * gst/gstelement.h: * gst/gstelement.c: (gst_element_get_time), (gst_element_wait), (gst_element_set_time), (gst_element_adjust_time): add concept of "element time" and functions to get/set this time. * gst/gstelement.c: (gst_element_change_state): update element time correctly. * gst/gstelement.c: (gst_element_get_compatible_pad_filtered): This is a debug message, not a g_critical. * gst/gstpad.c: (gst_pad_event_default): handle discontinuous events right with element time. * gst/gstscheduler.c: (gst_scheduler_state_transition): update to clocking fixes. set clocks on elements in READY=>PAUSED. The old behaviour caused a wrong element time on the first element that started playing. * gst/schedulers/gstbasicscheduler.c: (gst_basic_scheduler_class_init): * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_class_init): remove code that just implements the default behaviour. * gst/elements/gstfakesink.c: (gst_fakesink_chain): update to use new clocking functions * testsuite/clock/clock1.c: (gst_clock_debug), (main): * testsuite/clock/clock2.c: (gst_clock_debug), (main): update to test new element time. * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps): use _get_allowed_caps instead of _get_caps. This catches filtered caps correctly. * testsuite/debug/commandline.c: update for new GST_DEBUG syntax. * testsuite/threads/Makefile.am: disable a test that only works sometimes. 2004-01-13 Julien MOUTTE * po/LINGUAS: Adding fr. * po/fr.po: Adding french translation. 2004-01-13 Thomas Vander Stichele * gst/parse/grammar.y: * po/POTFILES.in: * po/nl.po: * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main): translate parsing error messages 2004-01-13 Thomas Vander Stichele * po/POTFILES.in: adding gst-launch * po/nl.po: updated translation, all 99 strings translated * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline), (found_tag), (sigint_handler_sighandler), (play_handler), (main): fix strings for translation 2004-01-13 Thomas Vander Stichele * gst/gst.c: - capitalize beginnings of popt options - fix strings for translation - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2 2004-01-13 Thomas Vander Stichele * po/README: add some notes on how to update translations 2004-01-13 Thomas Vander Stichele * ABOUT-NLS: removed, is autogenerated from autopoint * autogen.sh: add autopoint stuff * configure.ac: fix up gettext stuff * gst/Makefile.am: add i18n headers to noinst_HEADERS * gst/elements/gsttypefindelement.c: add header include * gst/gettext.h: add header, copy from system-installed header * gst/gst-i18n-app.h: to be included by each app having translations * gst/gst-i18n-lib.h: to be included by each lib having translations * gst/gst.c: (init_pre): fix up gettext calls * gst/gst_private.h: remove i18n stuff, moving to separate headers * po/LINGUAS: the new way to specify translations present * po/Makefile.in.in: removed from cvs, autogenerated from autopoint * po/Makevars: the variables filled in for GStreamer * po/POTFILES.in: added new files with translations * po/de.po: has new strings * po/nl.po: readded, has new strings 2004-01-13 Thomas Vander Stichele * gst/gsttag.c: fix some strings marked for translation 2004-01-13 Iain * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the group when we add an element to it, cos we unref it when we remove one 2004-01-12 Thomas Vander Stichele * testsuite/debug/commandline.c: (debug_not_reached): * testsuite/debug/output.c: (check_message): fix testsuite 2004-01-12 Benjamin Otte * examples/cutter/.cvsignore: * examples/helloworld/.cvsignore: * examples/launch/.cvsignore: * examples/manual/.cvsignore: * examples/mixer/.cvsignore: * examples/pingpong/.cvsignore: * examples/plugins/.cvsignore: * examples/queue/.cvsignore: * examples/queue2/.cvsignore: * examples/queue3/.cvsignore: * examples/queue4/.cvsignore: * examples/retag/.cvsignore: * examples/thread/.cvsignore: * examples/typefind/.cvsignore: * examples/xml/.cvsignore: * gst/.cvsignore: * gst/autoplug/.cvsignore: * gst/elements/.cvsignore: * gst/indexers/.cvsignore: * gst/parse/.cvsignore: * gst/registries/.cvsignore: * gst/schedulers/.cvsignore: * libs/gst/bytestream/.cvsignore: * libs/gst/control/.cvsignore: * libs/gst/getbits/.cvsignore: * tests/.cvsignore: * tests/bufspeed/.cvsignore: * tests/instantiate/.cvsignore: * tests/memchunk/.cvsignore: * tests/muxing/.cvsignore: * tests/sched/.cvsignore: * tests/seeking/.cvsignore: * tests/threadstate/.cvsignore: * testsuite/.cvsignore: * testsuite/caps/.cvsignore: * testsuite/cleanup/.cvsignore: * testsuite/dynparams/.cvsignore: * testsuite/plugin/.cvsignore: * tools/.cvsignore: update - this is huge, because it includes *.bb, *.bbg and *.da files which are generated for gcov. 2004-01-11 David Schleef * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add a function to parse integers in ways that strto[u]l() does not. 2004-01-11 Benjamin Otte * tools/gst-inspect.c: (print_caps): improve output of caps a bit 2004-01-11 David Schleef * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should inherit correct flags (READONLY and DONTKEEP). 2004-01-11 David Schleef * 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 Benjamin Otte * 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 Benjamin Otte * 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-10 Thomas Vander Stichele (gst_xml_registry_parse_padtemplate): make critical message slightly more useful 2004-01-10 Benjamin Otte * 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-08 David Schleef * Makefile.am: * configure.ac: Add option --enable-gcov to build GStreamer with -fprofile-arcs and -ftest-coverage, which allows gcov to show information about testsuite coverage. 2004-01-08 Benjamin Otte * 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-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-07 Ronald Bultje * 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-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