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-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