1. 11 Sep, 2005 1 commit
  2. 07 Sep, 2005 1 commit
    • Stefan Kost's avatar
      renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for... · b5454f7c
      Stefan Kost authored
      renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for gsttrace, gsttrashstack
      
      Original commit message from CVS:
      * docs/gst/gstreamer-docs.sgml:
      * docs/gst/tmpl/.cvsignore:
      * docs/gst/tmpl/gsttrace.sgml:
      * docs/gst/tmpl/gsttrashstack.sgml:
      * gst/Makefile.am:
      * gst/gst.h:
      * gst/gstelement.h:
      * gst/gstevent.h:
      * gst/gstmessage.c:
      * gst/gstmessage.h:
      * gst/gsttag.c:
      * gst/gsttag.h:
      * gst/gsttaginterface.c:
      * gst/gsttaginterface.h:
      * gst/gsttaglist.c:
      * gst/gsttaglist.h:
      * gst/gsttagsetter.c:
      * gst/gsttagsetter.h:
      * gst/gsttrace.c:
      * gst/gsttrace.h:
      * gst/gsttrashstack.c:
      renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
      inlined docs for gsttrace, gsttrashstack
      b5454f7c
  3. 02 Sep, 2005 2 commits
    • Andy Wingo Wingo's avatar
      gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this... · 1b38cd4a
      Andy Wingo Wingo authored
      gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this enum an enum and not a flags.
      
      Original commit message from CVS:
      2005-09-02  Andy Wingo  <wingo@pobox.com>
      
      * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
      consider this enum an enum and not a flags.
      1b38cd4a
    • Andy Wingo Wingo's avatar
      gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a... · e040bb2d
      Andy Wingo Wingo authored
      gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
      
      Original commit message from CVS:
      2005-09-02  Andy Wingo  <wingo@pobox.com>
      
      * gst/gstelement.h (GstState): Renamed from GstElementState,
      changed to be a normal enum instead of flags.
      (GstStateChangeReturn): Renamed from GstElementStateReturn, names
      munged to be GST_STATE_CHANGE_*.
      (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
      work with the new state representation.
      (GstStateChange): New enumeration of possible state transitions.
      Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
      (GstElementClass::change_state): Pass the GstStateChange along as
      an argument. Helps language bindings, so they don't have to use
      tricky lock-needing macros like GST_STATE_CHANGE ().
      
      * scripts/update-states (file): New script. Run it on a file to
      update it for state naming and API changes. Updates files in
      place.
      
      * All files updated for the new API.
      e040bb2d
  4. 24 Aug, 2005 1 commit
    • Jan Schmidt's avatar
      docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate... · 8aa248c9
      Jan Schmidt authored
      docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate introduction of this spelling mistake.
      
      Original commit message from CVS:
      * docs/pwg/advanced-types.xml:
      Well done to Michael for catching my deliberate introduction
      of this spelling mistake.
      * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
      * gst/gstelement.h:
      Add GST_ELEMENT_UNPARENTING to prevent races so that we can
      unlink pads before removing the element from the bin.
      8aa248c9
  5. 20 Aug, 2005 1 commit
  6. 27 Jul, 2005 1 commit
    • Wim Taymans's avatar
      Some docs updates · 66d7070e
      Wim Taymans authored
      Original commit message from CVS:
      * CHANGES-0.9:
      * docs/design/part-TODO.txt:
      * docs/design/part-events.txt:
      Some docs updates
      
      * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
      (gst_base_sink_event), (gst_base_sink_do_sync),
      (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
      * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
      (gst_base_src_do_seek), (gst_base_src_event_handler),
      (gst_base_src_loop):
      * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
      (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
      (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
      (gst_base_transform_event), (gst_base_transform_handle_buffer),
      (gst_base_transform_set_passthrough),
      (gst_base_transform_is_passthrough):
      * gst/elements/gstfakesink.c: (gst_fake_sink_event):
      * gst/elements/gstfilesink.c: (gst_file_sink_event):
      Event updates.
      
      * gst/gstbuffer.h:
      Use faster casts.
      
      * gst/gstelement.c: (gst_element_seek):
      * gst/gstelement.h:
      Update gst_element_seek.
      
      * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
      (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
      (gst_event_new_flush_start), (gst_event_new_flush_stop),
      (gst_event_new_eos), (gst_event_new_newsegment),
      (gst_event_parse_newsegment), (gst_event_new_tag),
      (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
      (gst_event_parse_qos), (gst_event_new_seek),
      (gst_event_parse_seek), (gst_event_new_navigation):
      * gst/gstevent.h:
      Make GstEvent use GstStructure. Add parsing code, make sure the
      API is sufficiently generic.
      Mark possible directions of events and serialization.
      
      * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
      (_gst_message_copy), (gst_message_new_segment_start),
      (gst_message_new_segment_done), (gst_message_new_custom),
      (gst_message_parse_segment_start),
      (gst_message_parse_segment_done):
      Small cleanups.
      
      * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
      (gst_pad_set_caps), (gst_pad_send_event):
      Update for new events.
      Catch events sent in wrong directions.
      
      * gst/gstqueue.c: (gst_queue_link_src),
      (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
      (gst_queue_handle_src_query):
      Event updates.
      
      * gst/gsttag.c:
      * gst/gsttag.h:
      Remove event code from this file.
      
      * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
      (gst_dp_event_from_packet):
      Event updates.
      66d7070e
  7. 20 Jul, 2005 1 commit
    • Ronald S. Bultje's avatar
      GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed,... · 3f62c7db
      Ronald S. Bultje authored
      GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValueFixedList -> GstValueArray, add ...
      
      Original commit message from CVS:
      * docs/manual/advanced-autoplugging.xml:
      * docs/manual/basics-helloworld.xml:
      * docs/manual/basics-pads.xml:
      * docs/random/ds/0.9-suggested-changes:
      * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
      * gst/gstelement.h:
      * gst/gstevent.h:
      * gst/gstformat.h:
      * gst/gstquery.h:
      * gst/gststructure.c: (gst_structure_value_get_generic_type),
      (gst_structure_parse_array), (gst_structure_parse_value):
      * gst/gstvalue.c: (gst_type_is_fixed),
      (gst_value_list_prepend_value), (gst_value_list_append_value),
      (gst_value_list_get_size), (gst_value_list_get_value),
      (gst_value_transform_array_string), (gst_value_serialize_array),
      (gst_value_deserialize_array), (gst_value_intersect_array),
      (gst_value_is_fixed), (_gst_value_initialize):
      * gst/gstvalue.h:
      GstElement::new-pad -> pad-added, GstElement::state-change ->
      state-changed, GstValueFixedList -> GstValueArray, add format and
      flags as their own arguments in gst_element_seek() (should improve
      "bindeability"), remove function generators since they don't work
      under a whole bunch of compilers (they were deprecated already
      anyway).
      3f62c7db
  8. 18 Jul, 2005 1 commit
    • Wim Taymans's avatar
      Removed plugable schedulers. · e1aeec6d
      Wim Taymans authored
      Original commit message from CVS:
      Removed plugable schedulers.
      Removed Scheduler/Manager from elements.
      Removed gsttypes.h, rearranged includes.
      Removed dependency pad<->element, element<>pipeline, and
      various others,  fix includes.
      implement gst_pad_get_parent() with gst_object_get_parent()
      Make GstTask sefcontained.
      Fix _get_state() on GstBin, it did not return ASYNC with a 0
      timeout.
      Fix endless loop in iterator_fold_with_resync.
      e1aeec6d
  9. 16 Jul, 2005 1 commit
    • Wim Taymans's avatar
      gst/base/gstbasesink.*: Store and use discont values when syncing buffers as... · d5be929b
      Wim Taymans authored
      gst/base/gstbasesink.*: Store and use discont values when syncing buffers as described in design docs.
      
      Original commit message from CVS:
      * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
      (gst_base_sink_event), (gst_base_sink_get_times),
      (gst_base_sink_do_sync), (gst_base_sink_change_state):
      * gst/base/gstbasesink.h:
      Store and use discont values when syncing buffers as described
      in design docs.
      
      * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
      (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
      (gst_base_src_activate_push):
      Push discont event when starting.
      
      * gst/elements/gstidentity.c: (gst_identity_transform):
      Small cleanups.
      
      * gst/gstbin.c: (gst_bin_change_state):
      Small cleanups in base_time  distribution.
      
      * gst/gstelement.c: (gst_element_set_base_time),
      (gst_element_get_base_time), (gst_element_change_state):
      * gst/gstelement.h:
      Added methods for the base_time of the element.
      Some MT fixes.
      
      * gst/gstpipeline.c: (gst_pipeline_send_event),
      (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
      (gst_pipeline_get_last_stream_time):
      * gst/gstpipeline.h:
      MT fixes.
      Handle seeking as described in design doc, remove stream_time
      hack.
      Cleanups clock and stream_time selection code. Added accessors
      for the stream_time.
      d5be929b
  10. 29 Jun, 2005 1 commit
  11. 27 Jun, 2005 2 commits
    • Andy Wingo Wingo's avatar
      gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer. · f2cf753b
      Andy Wingo Wingo authored
      Original commit message from CVS:
      2005-06-27  Andy Wingo  <wingo@pobox.com>
      
      * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
      remaining buffer.
      
      * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
      returns a sorted copy of the trace list.
      (gst_alloc_trace_print_live): New API, only prints traces with
      live objects. Sort the list.
      (gst_alloc_trace_print_all): Sort the list.
      (gst_alloc_trace_print): Align columns.
      
      * gst/elements/gstttypefindelement.c:
      * gst/elements/gsttee.c:
      * gst/base/gstbasesrc.c:
      * gst/base/gstbasesink.c:
      * gst/base/gstbasetransform.c:
      * gst/gstqueue.c: Adapt for pad activation changes.
      
      * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
      sched.
      (gst_pipeline_dispose): Drop ref on sched.
      
      * gst/gstpad.c (gst_pad_init): Set the default activate func.
      (gst_pad_activate_default): Push mode by default.
      (pre_activate_switch, post_activate_switch): New stubs, things to
      do before and after switching activation modes on pads.
      (gst_pad_set_active): Take a boolean and not a mode, dispatch to
      the pad's activate function to choose which mode to activate.
      Shortcut on deactivation and call the right function directly.
      (gst_pad_activate_pull): New API, (de)activates a pad in pull
      mode.
      (gst_pad_activate_push): New API, same for push mode.
      (gst_pad_set_activate_function)
      (gst_pad_set_activatepull_function)
      (gst_pad_set_activatepush_function): Setters for new API.
      
      * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
      Trace all miniobjects.
      (gst_mini_object_make_writable): Unref the arg if we copy, like
      gst_caps_make_writable.
      
      * gst/gstmessage.c (_gst_message_initialize): No trace init.
      
      * gst/gstghostpad.c (gst_proxy_pad_do_activate)
      (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
      Adapt for new pad API.
      
      * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
      
      * gst/gstelement.h:
      * gst/gstelement.c (gst_element_iterate_src_pads)
      (gst_element_iterate_sink_pads): New API functions.
      
      * gst/gstelement.c (iterator_fold_with_resync): New utility,
      should fold into gstiterator.c in some form.
      (gst_element_pads_activate): Simplified via use of fold and
      delegation of decisions to gstpad->activate.
      
      * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
      help in debugging.
      
      * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
      class once in init, like gstmessage. Didn't run into this issue
      but it seems correct. Don't initialize a trace, gstminiobject does
      that.
      
      * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
      test, runs fakesrc ! fakesink, stopping on ::handoff via a message
      to the bus.
      (assert_live_count): New util function, uses alloc traces to check
      cleanup.
      
      * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
      To be modified when unlink drops the internal pad.
      f2cf753b
    • Thomas Vander Stichele's avatar
      more doc and whitespace fixes · 012d4ec9
      Thomas Vander Stichele authored
      Original commit message from CVS:
      more doc and whitespace fixes
      012d4ec9
  12. 25 Jun, 2005 1 commit
    • Wim Taymans's avatar
      gst/: Keep track of current target state while performing a state change so... · 2169b1a5
      Wim Taymans authored
      gst/: Keep track of current target state while performing a state change so that subclasses can do something interest...
      
      Original commit message from CVS:
      * gst/gstelement.c: (gst_element_get_state_func),
      (gst_element_set_state):
      * gst/gstelement.h:
      * gst/gstmessage.c: (gst_message_parse_error),
      (gst_message_parse_warning):
      Keep track of current target state while performing a state
      change so that subclasses can do something interesting.
      Fix parsing of warning/error messages when GError is NULL.
      2169b1a5
  13. 23 Jun, 2005 1 commit
    • Wim Taymans's avatar
      Added support for live sources and other elements that cannot do preroll. · 1cda8197
      Wim Taymans authored
      Original commit message from CVS:
      Added support for live sources and other elements that
      cannot do preroll.
      Updated design docs, added live-source design doc.
      Implemented live source functionality in basesrc
      Fix error condition in _bin_get_state()
      Implement live source handling in -launch.
      Added check for live sources.
      Fixed case in GstBin where elements were changed state
      multiple times.
      1cda8197
  14. 08 Jun, 2005 1 commit
    • Andy Wingo Wingo's avatar
      gst/gstutils.c: RPAD fixes all around. · 4b908e33
      Andy Wingo Wingo authored
      Original commit message from CVS:
      2005-06-08  Andy Wingo  <wingo@pobox.com>
      
      * gst/gstutils.c: RPAD fixes all around.
      (gst_element_link_pads): Refcounting fixes.
      
      * tools/gst-inspect.c:
      * tools/gst-xmlinspect.c:
      * parse/grammar.y:
      * gst/base/gsttypefindhelper.c:
      * gst/base/gstbasesink.c:
      * gst/gstqueue.c: RPAD fixes.
      
      * gst/gstghostpad.h:
      * gst/gstghostpad.c: New ghost pad implementation as full proxy
      pads. The tricky thing is they provide both source and sink
      interfaces, since they proxy the internal pad for the external
      pad, and vice versa. Implement with lower-level ProxyPad objects,
      with the interior proxy pad as a child of the exterior ghost pad.
      Should write a doc on this.
      
      * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
      (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
      gst_object API.
      
      * gst/gstpad.c: Big changes. No more stub base GstPad, now all
      pads are real pads. No ghost pads in this file. Not documenting
      the myriad s/RPAD/PAD/ and REALIZE fixes.
      (gst_pad_class_init): Add properties for "direction" and
      "template". Both are construct-only, so they can't change during
      the life of the pad. Fixes properly deriving from GstPad.
      (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
      derived objects, just set properties when creating the objects via
      g_object_new.
      (gst_pad_get_parent): Implement as a function, return NULL if the
      parent is not an element.
      (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
      (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
      
      * gst/gstobject.c (gst_object_class_init): Make name a construct
      property. Don't set it in the object init.
      
      * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
      with UNKNOWN direction.
      (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
      with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
      (gst_element_remove_pad): Remove ghost-pad special cases.
      (gst_element_pads_activate): Remove rpad cruft.
      
      * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
      catch the pad's-parent-not-an-element case.
      
      * gst/gst.h: Include gstghostpad.h.
      
      * gst/gst.c (init_post): No more real, ghost pads.
      
      * gst/Makefile.am: Add gstghostpad.[ch].
      
      * check/Makefile.am:
      * check/gst/gstbin.c:
      * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
      into a bin creates ghost pads, and that the refcounts are right.
      Partly moved from gstbin.c.
      4b908e33
  15. 30 May, 2005 1 commit
  16. 12 May, 2005 1 commit
    • Wim Taymans's avatar
      gst/: Identify sinks by their flag to avoid overly complicated checks (fow now). · 1c4ea621
      Wim Taymans authored
      Original commit message from CVS:
      * gst/base/gstbasesink.c: (gst_basesink_init),
      (gst_basesink_activate):
      * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
      (gst_basesrc_is_seekable):
      * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
      (bin_element_is_sink), (gst_bin_change_state):
      * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
      * gst/gstelement.h:
      Identify sinks by their flag to avoid overly complicated
      checks (fow now).
      Do state changes even for elements not reachable from the
      sinks.
      BaseSink is a sink now :)
      Some more debugging info in the basesrc.
      1c4ea621
  17. 09 May, 2005 1 commit
    • Wim Taymans's avatar
      Remove old query functions. Ported old code. · 8df6cd72
      Wim Taymans authored
      Original commit message from CVS:
      Remove old query functions. Ported old code.
      Added position/convert helper functions to gstutils.
      Reordered gstpad.c code, grouping relevant things.
      Remove gst_message_new(), always need to speficy a specific
      message.
      8df6cd72
  18. 12 Apr, 2005 1 commit
    • Ronald S. Bultje's avatar
      Use libxml2 for registry parsing, use staticpadtemplates in elementfactories.... · 560d0ba1
      Ronald S. Bultje authored
      Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster.
      
      Original commit message from CVS:
      * docs/gst/tmpl/gstelementfactory.sgml:
      * gst/gstelement.h:
      * gst/gstelementfactory.c: (gst_element_factory_init),
      (gst_element_factory_cleanup), (gst_element_register),
      (__gst_element_factory_add_static_pad_template),
      (gst_element_factory_get_static_pad_templates),
      (gst_element_factory_can_src_caps),
      (gst_element_factory_can_sink_caps):
      * gst/registries/Makefile.am:
      * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
      (gst_xml_registry_class_init), (gst_xml_registry_init),
      (gst_xml_registry_new), (gst_xml_registry_set_property),
      (gst_xml_registry_get_property), (get_time), (make_dir),
      (gst_xml_registry_get_perms_func),
      (plugin_times_older_than_recurse), (plugin_times_older_than),
      (gst_xml_registry_open_func), (gst_xml_registry_load_func),
      (gst_xml_registry_save_func), (gst_xml_registry_close_func),
      (add_to_char_array), (read_string), (read_uint), (read_enum),
      (load_pad_template), (load_feature), (load_plugin), (load_paths),
      (gst_xml_registry_load), (gst_xml_registry_load_plugin),
      (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
      (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
      (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
      (gst_xml_registry_rebuild):
      * gst/registries/gstlibxmlregistry.h:
      * tools/gst-compprep.c: (main):
      * tools/gst-inspect.c: (print_pad_templates_info):
      * tools/gst-xmlinspect.c: (print_element_info):
      Use libxml2 for registry parsing, use staticpadtemplates in
      elementfactories. Makes gst_init() +/- 10x faster.
      560d0ba1
  19. 21 Mar, 2005 1 commit
    • Wim Taymans's avatar
      Next big merge. · c2f41a89
      Wim Taymans authored
      Original commit message from CVS:
      Next big merge.
      Added GstBus for mainloop integration.
      Added GstMessage for sending notifications on the bus.
      Added GstTask as an abstraction for pipeline entry points.
      Removed GstThread.
      Removed Schedulers.
      Simplified GstQueue for multithreaded core.
      Made _link threadsafe, removed old capsnego.
      Added STREAM_LOCK and PREROLL_LOCK in GstPad.
      Added pad blocking functions.
      Reworked scheduling functions in GstPad to prepare for
      scheduling updates soon.
      Moved events out of data stream.
      Simplified GstEvent types.
      Added return values to push/pull.
      Removed clocking from GstElement.
      Added prototypes for state change function for next merge.
      Removed iterate from bins and state change management.
      Fixed some elements, disabled others for now.
      Fixed -inspect and -launch.
      Added check for GstBus.
      c2f41a89
  20. 09 Mar, 2005 2 commits
    • Wim Taymans's avatar
      Added GstBin test. · 6cacf76c
      Wim Taymans authored
      Original commit message from CVS:
      Added GstBin test.
      Added GstSystemClock test.
      Implemented clock distribution code in GstBin.
      Implemented iterate sinks method for future use.
      Rearranged gstelement.h
      Fix GstIterator comparison bug.
      Moved some code to GstPipeline, mostly clocking related.
      6cacf76c
    • Wim Taymans's avatar
      Bump version number, we're now 0.9.0 · c6a7adc9
      Wim Taymans authored
      Original commit message from CVS:
      * configure.ac:
      * gst/gst_private.h:
      * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
      (gst_bin_remove_func), (gst_bin_remove),
      (gst_bin_get_by_name_recurse_up):
      * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
      (gst_clock_id_compare_func), (gst_clock_id_wait),
      (gst_clock_id_wait_async), (gst_clock_init),
      (gst_clock_adjust_unlocked), (gst_clock_get_time):
      * gst/gstelement.h:
      * gst/gstinfo.c: (_gst_debug_init):
      * gst/gstobject.h:
      * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
      (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
      * gst/gstpad.h:
      Bump version number, we're now 0.9.0
      Add future debugging category.
      Fix NULL _unref() in _get_by_name_recurse_up
      Rearrange gstpad.h.
      Update some docs.
      c6a7adc9
  21. 08 Mar, 2005 2 commits
    • Wim Taymans's avatar
      Remove threadsafe properties. Fix elements because GObject complains when... · 9e24b85a
      Wim Taymans authored
      Remove threadsafe properties. Fix elements because GObject complains when installing a property before declaring a se...
      
      Original commit message from CVS:
      Remove threadsafe properties. Fix elements because GObject
      complains when installing a property before declaring a
      set/get_property handler.
      Rearrange gstelement.h file, use STATE macros for state locks.
      Free mutexes in the finalize method instead of dispose.
      9e24b85a
    • Wim Taymans's avatar
      Docs updates, clean up some headers. · b338085a
      Wim Taymans authored
      Original commit message from CVS:
      * docs/design/part-MT-refcounting.txt:
      * docs/design/part-conventions.txt:
      * docs/design/part-gstobject.txt:
      * docs/design/part-relations.txt:
      * docs/design/part-standards.txt:
      * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
      (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
      (gst_bin_get_by_name), (gst_bin_get_by_interface),
      (gst_bin_iterate_all_by_interface):
      * gst/gstbuffer.h:
      * gst/gstclock.h:
      * gst/gstelement.c: (gst_element_class_init),
      (gst_element_change_state), (gst_element_set_loop_function):
      * gst/gstelement.h:
      * gst/gstiterator.c:
      * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
      (gst_object_unref), (gst_object_sink), (gst_object_dispose),
      (gst_object_dispatch_properties_changed), (gst_object_set_name),
      (gst_object_set_parent), (gst_object_unparent),
      (gst_object_check_uniqueness):
      * gst/gstobject.h:
      Docs updates, clean up some headers.
      Free iterators in GstBin.
      GstObject is now looking good.
      b338085a
  22. 07 Mar, 2005 1 commit
  23. 24 Jan, 2005 1 commit
  24. 15 Jul, 2004 1 commit
  25. 22 Jun, 2004 1 commit
  26. 13 Jun, 2004 1 commit
  27. 12 Jun, 2004 1 commit
  28. 10 May, 2004 1 commit
  29. 30 Mar, 2004 1 commit
    • David Schleef's avatar
      docs/gst/Makefile.am: Disable a bunch of headers from being scanned · 8ce063f7
      David Schleef authored
      Original commit message from CVS:
      * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
      * docs/gst/gstreamer-docs.sgml:  More hacking
      * docs/gst/gstreamer-sections.txt:
      * docs/gst/tmpl/cothreads_compat.sgml:
      * docs/gst/tmpl/gstcaps.sgml:
      * docs/gst/tmpl/gstclock.sgml:
      * docs/gst/tmpl/gstelement.sgml:
      * docs/gst/tmpl/gstevent.sgml:
      * docs/gst/tmpl/gstpad.sgml:
      * docs/gst/tmpl/gstutils.sgml:
      * docs/gst/tmpl/gstxml.sgml:
      * docs/gst/tmpl/gthread-cothreads.sgml:
      * docs/random/ds/0.9-suggested-changes:
      * gst/elements/gstfakesink.h: doc fixes
      * gst/elements/gstfakesrc.h: doc fixes
      * gst/gstcaps.c: doc fixes
      * gst/gstcaps.h: doc fixes
      * gst/gstelement.c: doc fixes
      * gst/gstelement.h: doc fixes
      * gst/gstindex.c: doc fixes
      * gst/gstinfo.c: doc fixes
      * gst/gstpad.c: doc fixes
      * gst/gstpad.h: doc fixes
      * gst/gstplugin.c: doc fixes
      * gst/gsttypefind.h: doc fixes
      * gst/gsturi.c: doc fixes
      * gst/gstvalue.c: doc fixes
      8ce063f7
  30. 28 Mar, 2004 1 commit
    • Martin Soto's avatar
      gst/gstelement.*: New function for setting element time taking into account a... · 78640b89
      Martin Soto authored
      gst/gstelement.*: New function for setting element time taking into account a hardware buffering delay.
      
      Original commit message from CVS:
      * gst/gstelement.h:
      * gst/gstelement.c (gst_element_set_time_delay): New function for
      setting element time taking into account a hardware buffering
      delay.
      (gst_element_set_time): Now just an invocation of
      gst_element_set_time_delay.
      * gst/gstclock.h:
      * gst/gstclock.c (gst_clock_get_event_time_delay): New function
      allowing to set event times in the future.
      (gst_clock_get_event_time): Now just an invocation of
      gst_clock_get_event_time_delay.
      78640b89
  31. 15 Mar, 2004 2 commits
  32. 13 Mar, 2004 1 commit
  33. 01 Mar, 2004 1 commit
    • Thomas Vander Stichele's avatar
      configure.ac: remove whitespace · fdfb2b82
      Thomas Vander Stichele authored
      Original commit message from CVS:
      * configure.ac:
      remove whitespace
      * docs/gst/tmpl/gstbuffer.sgml:
      * docs/gst/tmpl/gstdata.sgml:
      * docs/gst/tmpl/gstreamer-unused.sgml:
      * docs/gst/tmpl/gstxml.sgml:
      doc update
      * docs/manuals.mak:
      add a FIXME
      * docs/pwg/intro-preface.xml:
      * docs/pwg/pwg.xml:
      remove GNOME
      * gst/gst.c: (init_post):
      try GST_PLUGIN_PATH paths for the _global_registry first
      * gst/gstelement.h:
      add the error message as well, otherwise (null) debug info doesn't
      make much sense
      * tools/gst-register.c: (main):
      spill paths to next registry if this registry is not writable
      * po/fr.po:
      * po/nl.po:
      translation updates
      fdfb2b82
  34. 25 Feb, 2004 1 commit
    • Andy Wingo Wingo's avatar
      gst/gstelement.c (gst_element_dispose): Protect against multiple invocations. · 3f5a8814
      Andy Wingo Wingo authored
      Original commit message from CVS:
      2004-02-24  Andy Wingo  <wingo@pobox.com>
      
      * gst/gstelement.c (gst_element_dispose): Protect against multiple
      invocations.
      
      * gst/schedulers/gstoptimalscheduler.c
      I added a mess of prototypes at the top of the file by way of
      documentation. Some of the operations on chains and groups were
      re-organized.
      
      (create_group): Added a type argument so if the group is enabled,
      the setup_group_scheduler knows what to do.
      (group_elements): Added a type argument here, too, to be passed on
      to create_group.
      (group_element_set_enabled): If an unlinked PLAYING element is
      added to a bin, we have to create a new group to hold the element,
      and this function will be called before the group is added to the
      chain. Thus we have a valid case for group->chain==NULL. Instead
      of calling chain_group_set_enabled, just set the flag on the group
      (the chain's status will be set when the group is added to it).
      (gst_opt_scheduler_state_transition, chain_group_set_enabled):
      Setup the group scheduler when the group is enabled, not
      specifically when an element goes PAUSED->PLAYING. This means
      PLAYING elements can be added, linked, and scheduled into a
      PLAYING pipeline, as was intended.
      (add_to_group): Don't ref the group twice. I don't know when this
      double-ref got in here. Removing it has the potential to cause
      segfaults if other parts of the scheduler are buggy. If you find
      that the scheduler is segfaulting for you, put in an extra ref
      here and see if that hacks over the underlying issue. Of course,
      then find out what code is unreffing a group it doesn't own...
      (create_group): Make the extra refcount floating, and remove it
      after adding the element. This means that...
      (unref_group): Destroy when the refcount reaches 0, not 1, like
      every other refcounted object in the known universe.
      (remove_from_group): When a group becomes empty, set it to be not
      active, and remove it from its chain. Don't unref it again,
      there's no floating reference any more.
      (destroy_group): We have to remove the group from the chain in
      remove_from_group (rather than here) to break refcounting cycles
      (the chain always has a ref on the group). So assert that
      group->chain==NULL.
      (ref_group_by_count): Removed, it was commented out anyway.
      (merge_chains): Use the remove_from_chain and add_to_chain
      primitives to do the reparenting, instead of rolling our own
      implementation.
      (add_to_chain): The first non-disabled group in the chain's group
      list will be the entry point for the chain. Because buffers can
      accumulate in loop elements' peer bufpens, we preferentially
      schedule loop groups before get groups to avoid unnecessary
      execution of get-based groups when the bufpens are already full.
      (gst_opt_scheduler_schedule_run_queue): Debug fixes.
      (get_group_schedule_function): Ditto.
      (loop_group_schedule_function): Ditto.
      (gst_opt_scheduler_loop_wrapper): Ditto.
      (gst_opt_scheduler_iterate): Ditto.
      
      I understand the opt scheduler now, yippee!
      
      * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
      (gst_pad_get_name, gst_pad_set_chain_function)
      (gst_pad_set_get_function, gst_pad_set_event_function)
      (gst_pad_set_event_mask_function, gst_pad_get_event_masks)
      (gst_pad_get_event_masks_default, gst_pad_set_convert_function)
      (gst_pad_set_query_function, gst_pad_get_query_types)
      (gst_pad_get_query_types_default)
      (gst_pad_set_internal_link_function)
      (gst_pad_set_formats_function, gst_pad_set_link_function)
      (gst_pad_set_fixate_function, gst_pad_set_getcaps_function)
      (gst_pad_set_bufferalloc_function, gst_pad_unlink)
      (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent)
      (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps)
      (gst_pad_proxy_pad_link, gst_pad_proxy_fixate)
      (gst_pad_get_pad_template_caps, gst_pad_check_compatibility)
      (gst_pad_get_peer, gst_pad_get_allowed_caps)
      (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull)
      (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps)
      (gst_pad_event_default_dispatch, gst_pad_event_default)
      (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default)
      (gst_pad_convert, gst_pad_query_default, gst_pad_query)
      (gst_pad_get_formats_default, gst_pad_get_formats): Better
      argument checks, and some doc fixes.
      
      (gst_pad_custom_new_from_template): Um, does anyone
      use these functions? Actually make a custom pad instead of a
      normal one.
      (gst_pad_try_set_caps): Transpose some checks.
      (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
      the pad is in negotiation.
      (gst_pad_try_relink_filtered): Use pad_link_prepare.
      
      * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
      
      * gst/gstelement.h:
      * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
      on the list.
      3f5a8814
  35. 04 Feb, 2004 1 commit