1. 16 Nov, 2016 1 commit
  2. 11 Oct, 2016 1 commit
  3. 10 Sep, 2016 1 commit
  4. 16 May, 2016 1 commit
  5. 27 Apr, 2016 1 commit
    • Sebastian Dröge's avatar
      element: Add gst_element_call_async() · 8177173d
      Sebastian Dröge authored
      This calls a function from another thread, asynchronously. This is to be
      used for cases when a state change has to be performed from a streaming
      thread, directly via gst_element_set_state() or indirectly e.g. via SEEK
      events.
      
      Calling those functions directly from the streaming thread will cause
      deadlocks in many situations, as they might involve waiting for the
      streaming thread to shut down from this very streaming thread.
      
      This is mostly a convenience function around a GThreadPool and is for example
      used by GstBin to continue asynchronous state changes.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=760532
      8177173d
  6. 14 Dec, 2015 1 commit
  7. 16 Nov, 2013 1 commit
  8. 21 Dec, 2012 1 commit
  9. 03 Nov, 2012 1 commit
  10. 10 Jul, 2012 1 commit
  11. 12 Jun, 2012 1 commit
  12. 22 Feb, 2011 1 commit
    • Wim Taymans's avatar
      cleanups · 5dd9ab1c
      Wim Taymans authored
      Fix padding, remove deprecated symbols.
      5dd9ab1c
  13. 02 Apr, 2009 1 commit
  14. 19 Nov, 2008 1 commit
    • Wim Taymans's avatar
      gst/gstbin.*: Add do-latency signal with the old default fallback... · 9184d9ee
      Wim Taymans authored
      gst/gstbin.*: Add do-latency signal with the old default fallback implementation. This allows for custom latency calc...
      
      Original commit message from CVS:
      * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
      (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
      (gst_bin_change_state_func):
      * gst/gstbin.h:
      Add do-latency signal with the old default fallback implementation. This
      allows for custom latency calculations for when the default is not
      sufficient.
      API: GstBin::do-latency signal.
      9184d9ee
  15. 18 Nov, 2008 1 commit
    • Wim Taymans's avatar
      Add method to recalculate and redistribute the latency on a bin. · c311f215
      Wim Taymans authored
      Original commit message from CVS:
      * docs/gst/gstreamer-sections.txt:
      * gst/gstbin.c: (gst_bin_recalculate_latency),
      (gst_bin_change_state_func):
      * gst/gstbin.h:
      Add method to recalculate and redistribute the latency on a bin.
      API: gst_bin_recalculate_latency().
      c311f215
  16. 20 Sep, 2007 1 commit
    • Stefan Kost's avatar
      gst/gstbin.h: Move priv to the right place. · 0873492b
      Stefan Kost authored
      Original commit message from CVS:
      * gst/gstbin.h:
      Move priv to the right place.
      * gst/gstsystemclock.c:
      Add FIXME: and improve log.
      * tests/check/Makefile.am:
      * tests/examples/manual/Makefile.am:
      Work with all types of registries.
      0873492b
  17. 18 Jun, 2007 1 commit
    • Wim Taymans's avatar
      gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an... · 0b315387
      Wim Taymans authored
      gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid...
      
      Original commit message from CVS:
      * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
      (gst_bin_remove_func), (gst_bin_get_state_func),
      (gst_bin_element_set_state), (gst_bin_continue_func),
      (bin_push_state_continue), (bin_handle_async_start),
      (bin_handle_async_done), (gst_bin_handle_message_func):
      * gst/gstbin.h:
      Immediatly commit the toplevel bin state when receiving an async-done
      message. This enables us to avoid spawning a thread to commit the state
      in some common cases and it also avoids some races.
      Avoid spawning a state thread when adding/removing async elements to a
      toplevel bin. Instead we immediatly update the bin state.
      Get rid of iterating all the children when getting the state in the bin
      because it is now always up-to-date.
      Fix bug where locked elements would always return _SUCCESS even it they
      returned NO_PREROLL before being locked.
      Fix the order of the state_change, async-start/done messages that was
      sometimes incorrect.
      Mark the state_dirty field as deprecated, we don't need it anymore as we
      are always up-to-date.
      * gst/gstelement.c: (gst_element_get_state_func),
      (gst_element_continue_state):
      Small debug inprovements.
      Return the previous element state return when nothing is pending instead
      of blindly returning SUCCESS.
      * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
      (gst_sinks_suite):
      Add a whole bunch of new testcases.
      0b315387
  18. 22 May, 2007 2 commits
    • Tim-Philipp Müller's avatar
      gst/gstbin.*: 'private' is a c++ keyword, let's not use that in header files,... · 93230e96
      Tim-Philipp Müller authored
      gst/gstbin.*: 'private' is a c++ keyword, let's not use that in header files, otherwise c++ compilers will throw a ta...
      
      Original commit message from CVS:
      * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
      (gst_bin_set_property), (gst_bin_get_property),
      (gst_bin_remove_func), (gst_bin_handle_message_func):
      * gst/gstbin.h:
      'private' is a c++ keyword, let's not use that in header files,
      otherwise c++ compilers will throw a tantrum.
      93230e96
    • Edward Hervey's avatar
      Add a property for bins that handle the state change of their childs. · 466218f4
      Edward Hervey authored
      Original commit message from CVS:
      * docs/gst/gstreamer-sections.txt:
      * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
      (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
      (gst_bin_remove_func), (gst_bin_handle_message_func):
      * gst/gstbin.h:
      Add a property for bins that handle the state change of their childs.
      Fixes #435880
      466218f4
  19. 10 Feb, 2007 1 commit
    • Sebastien Moutte's avatar
      gst/gstbin.h: Replace interface parameter name by iface as interface is a... · 3ad87e02
      Sebastien Moutte authored
      gst/gstbin.h: Replace interface parameter name by iface as interface is a reserved keyword in Visual Studio for C++ p...
      
      Original commit message from CVS:
      * gst/gstbin.h:(gst_bin_get_by_interface),
      (gst_bin_iterate_all_by_interface):
      Replace interface parameter name by iface as interface is
      a reserved keyword in Visual Studio for C++ projects so it removes
      a build error for application developpers using VS.
      * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
      Fix a bug on Windows in uri format check. Now the prefix checked
      is file:// and next we check if the path after file:// is absolute.
      * win32/common/libgstbase.def:
      * win32/common/libgstdataprotocol.def:
      * win32/common/libgstgstreamer.def:
      Add new exported functions.
      3ad87e02
  20. 13 Mar, 2006 1 commit
    • Wim Taymans's avatar
      Documentation updates. · 429ebfff
      Wim Taymans authored
      Original commit message from CVS:
      * docs/gst/gstreamer-sections.txt:
      * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
      * gst/gstbin.h:
      * gst/gstbus.c: (gst_bus_class_init):
      * gst/gstbus.h:
      * gst/gstclock.c:
      * gst/gstelement.c: (gst_element_set_locked_state):
      * gst/gstsegment.c:
      Documentation updates.
      * gst/gstpipeline.c: (gst_pipeline_get_type),
      (gst_pipeline_class_init), (gst_pipeline_init),
      (gst_pipeline_dispose), (gst_pipeline_set_property),
      (gst_pipeline_get_property), (do_pipeline_seek),
      (gst_pipeline_send_event), (gst_pipeline_change_state),
      (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
      (gst_pipeline_get_delay):
      * gst/gstpipeline.h:
      Added methods for setting the delay.
      API: gst_pipeline_set_delay
      API: gst_pipeline_get_delay
      Add pipeline debug category
      Various cleanups.
      Updated docs.
      Don't reset stream time when seek failed.
      429ebfff
  21. 26 Jan, 2006 1 commit
    • Stefan Kost's avatar
      added code for downstream events, reviewed docs in gstevent.c · b352cee4
      Stefan Kost authored
      Original commit message from CVS:
      * docs/gst/gstreamer-sections.txt:
      * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
      (gst_bin_iterate_sources), (gst_bin_send_event):
      * gst/gstbin.h:
      * gst/gstelement.c: (gst_element_send_event):
      * gst/gstevent.c:
      * gst/gstpad.c: (gst_pad_send_event):
      added code for downstream events, reviewed docs in gstevent.c
      b352cee4
  22. 19 Nov, 2005 1 commit
    • Wim Taymans's avatar
      Make message handling overridable. · 5209b1b0
      Wim Taymans authored
      Original commit message from CVS:
      * docs/design/part-TODO.txt:
      * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
      (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
      (gst_bin_handle_message_func):
      * gst/gstbin.h:
      Make message handling overridable.
      5209b1b0
  23. 18 Nov, 2005 1 commit
    • Wim Taymans's avatar
      gst/gstbin.*: Removing a clock provider from a bin, triggers a clock lost... · 02253f58
      Wim Taymans authored
      gst/gstbin.*: Removing a clock provider from a bin, triggers a clock lost message so that a new clock will be selected.
      
      Original commit message from CVS:
      * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
      (gst_bin_remove_func), (bin_bus_handler):
      * gst/gstbin.h:
      Removing a clock provider from a bin, triggers a clock lost message
      so that a new clock will be selected.
      Adding a clock to a bin triggers a clock provider message.
      Make sure we reselect a clock when we received a clock lost message.
      Keep a reference to the element that provided the clock.
      02253f58
  24. 09 Nov, 2005 2 commits
  25. 28 Oct, 2005 1 commit
  26. 18 Oct, 2005 1 commit
    • Wim Taymans's avatar
      gst/: Pending ABI changes. · 74c74e18
      Wim Taymans authored
      Original commit message from CVS:
      * gst/gstbin.h:
      * gst/gstelement.c: (gst_element_class_init),
      (gst_element_set_state), (gst_element_set_state_func):
      * gst/gstelement.h:
      Pending ABI changes.
      GThreadPool in GstBinClass to monitor async state changes.
      state_cookie in GstElement to detect concurrent gst/set state.
      set_state is now virtual too in case a very complicated element
      has to be constructed.
      74c74e18
  27. 15 Oct, 2005 1 commit
    • Thomas Vander Stichele's avatar
      gst/gst.*: remove _gst_registry_auto_load, not used anymore · 2ca1c89a
      Thomas Vander Stichele authored
      Original commit message from CVS:
      
      * gst/gst.c:
      * gst/gst.h:
      remove _gst_registry_auto_load, not used anymore
      * gst/gstbin.c: (gst_bin_get_type):
      * gst/gstbin.h:
      * gst/gstelement.c: (gst_element_get_type):
      * gst/gstelement.h:
      * gst/gstobject.c: (gst_object_get_type):
      * gst/gstobject.h:
      * gst/gstpad.c: (gst_pad_get_type):
      * gst/gstpad.h:
      make _get_type functions similar, fixes data export from library
      2ca1c89a
  28. 12 Oct, 2005 1 commit
    • Stefan Kost's avatar
      renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition · a98aef82
      Stefan Kost authored
      Original commit message from CVS:
      * check/gst/gstbin.c: (GST_START_TEST):
      * docs/gst/gstreamer-sections.txt:
      * gst/base/gstbasesink.c: (gst_base_sink_init):
      * gst/base/gstbasesrc.c: (gst_base_src_init),
      (gst_base_src_get_range), (gst_base_src_check_get_range),
      (gst_base_src_start), (gst_base_src_stop):
      * gst/base/gstbasesrc.h:
      * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
      * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
      (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
      (bin_bus_handler):
      * gst/gstbin.h:
      * gst/gstbuffer.h:
      * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
      * gst/gstbus.h:
      * gst/gstelement.c: (gst_element_is_locked_state),
      (gst_element_set_locked_state), (gst_element_commit_state),
      (gst_element_set_state):
      * gst/gstelement.h:
      * gst/gstindex.c: (gst_index_init):
      * gst/gstindex.h:
      * gst/gstminiobject.h:
      * gst/gstobject.c: (gst_object_init), (gst_object_sink),
      (gst_object_set_parent):
      * gst/gstobject.h:
      * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
      (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
      * gst/gstpad.h:
      * gst/gstpadtemplate.h:
      * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
      (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
      * gst/gstpipeline.h:
      * gst/indexers/gstfileindex.c: (gst_file_index_load),
      (gst_file_index_commit):
      * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
      * testsuite/pad/link.c: (gst_test_src_init),
      (gst_test_filter_init), (gst_test_sink_init):
      * testsuite/states/locked.c: (main):
      renamed GST_FLAGS macros to GST_OBJECT_FLAGS
      moved bitshift from macro to enum definition
      a98aef82
  29. 11 Oct, 2005 3 commits
    • Wim Taymans's avatar
      gst/gstbin.*: Prepare to make current EOS message queue more generic. · 4dd6c2a5
      Wim Taymans authored
      Original commit message from CVS:
      * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
      (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
      (gst_bin_recalc_state), (gst_bin_change_state_func),
      (gst_bin_dispose), (bin_bus_handler):
      * gst/gstbin.h:
      Prepare to make current EOS message queue more generic.
      Fix some typos.
      
      * gst/gstevent.c: (gst_event_new_newsegment),
      (gst_event_parse_newsegment):
      * gst/gstevent.h:
      Rename base to stream_time.
      
      * gst/gstmessage.h:
      Fix typo in docs.
      4dd6c2a5
    • Wim Taymans's avatar
      gst/gstbin.*: Work on proper clock selection. · fc5dc6de
      Wim Taymans authored
      Original commit message from CVS:
      * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
      (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
      (gst_bin_change_state_func), (bin_bus_handler):
      * gst/gstbin.h:
      Work on proper clock selection.
      fc5dc6de
    • Wim Taymans's avatar
      docs/design/part-states.txt: Some more docs. · fd1a66e8
      Wim Taymans authored
      Original commit message from CVS:
      * docs/design/part-states.txt:
      Some more docs.
      
      * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
      (gst_bin_change_state_func), (bin_bus_handler):
      Doc updates. Don't distribute the same clock over and over again.
      
      * gst/gstclock.c:
      * gst/gstclock.h:
      Doc updates.
      
      * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
      (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
      (gst_pad_send_event):
      * gst/gstpad.h:
      Make probe emission threadsafe again.
      Register quarks and move _get_name() from utils.
      Doc updates.
      
      * gst/gstpipeline.c: (gst_pipeline_class_init),
      (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
      Only redistribute the clock of it changed.
      
      * gst/gstsystemclock.h:
      Doc updates.
      
      * gst/gstutils.c:
      * gst/gstutils.h:
      Moved the _flow_get_name() to GstPad.
      fd1a66e8
  30. 10 Oct, 2005 1 commit
    • Wim Taymans's avatar
      check/: Check fixes, use API as stated in design docs, remove hacks. · 2153c459
      Wim Taymans authored
      Original commit message from CVS:
      * check/Makefile.am:
      * check/generic/states.c: (GST_START_TEST):
      * check/gst/gstbin.c: (GST_START_TEST):
      * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
      * check/states/sinks.c: (GST_START_TEST):
      * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
      (main):
      Check fixes, use API as stated in design docs, remove hacks.
      
      * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
      (gst_base_sink_change_state):
      Catch stopping our task while we're shutting down.
      
      * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
      (gst_bin_remove_func), (gst_bin_get_state_func),
      (gst_bin_recalc_state), (gst_bin_change_state_func),
      (bin_bus_handler):
      * gst/gstbin.h:
      * gst/gstelement.c: (gst_element_init),
      (gst_element_get_state_func), (gst_element_abort_state),
      (gst_element_commit_state), (gst_element_lost_state),
      (gst_element_set_state), (gst_element_change_state),
      (gst_element_change_state_func):
      * gst/gstelement.h:
      New state change algorithm (see #318116)
      
      * gst/gstpipeline.c: (gst_pipeline_class_init),
      (gst_pipeline_init), (gst_pipeline_set_property),
      (gst_pipeline_get_property), (do_pipeline_seek),
      (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
      * gst/gstpipeline.h:
      Remove crude state change hacks.
      
      * gst/gstutils.h:
      Remove crude hacks.
      
      * tools/gst-launch.c: (main):
      Fixes for state change. Needs some more work to fully use the
      new stuff.
      2153c459
  31. 27 Sep, 2005 1 commit
    • Wim Taymans's avatar
      check/gst/gstbin.c: Enable check that works now. · 4d4a60f6
      Wim Taymans authored
      Original commit message from CVS:
      * check/gst/gstbin.c: (GST_START_TEST):
      Enable check that works now.
      
      * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
      (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
      (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
      (gst_bin_iterate_sorted), (gst_bin_element_set_state),
      (gst_bin_change_state):
      * gst/gstbin.h:
      Redid the state change algorithm using a topological sort algo.
      Handles all cases correctly.
      Exposed iterator for state change order.
      
      * gst/gstelement.h:
      Temp storage for state changes. Need to get rid of this soon.
      4d4a60f6
  32. 11 Sep, 2005 1 commit
  33. 25 Aug, 2005 1 commit
    • Stefan Kost's avatar
      gst/gstbin.h: removed ';' from the end of macro defs · a28d6343
      Stefan Kost authored
      Original commit message from CVS:
      * gst/gstbin.h:
      removed ';' from the end of macro defs
      * docs/gst/gstreamer-docs.sgml:
      * docs/gst/gstreamer-sections.txt:
      * docs/gst/tmpl/.cvsignore:
      * gst/gstbus.h:
      * gst/gstelement.c: (gst_element_class_init),
      (gst_element_set_state), (activate_pads),
      (gst_element_save_thyself):
      * gst/gstevent.c: (gst_event_new_newsegment):
      * gst/gstevent.h:
      * gst/gstiterator.c:
      * gst/gstiterator.h:
      * gst/gstpad.c:
      * gst/gstprobe.h:
      * gst/gstutils.c: (gst_pad_query_convert):
      * gst/gstutils.h:
      fixed parameter name mismatches between source, header and docs
      added some more docs, resolved the last batch of unused elements in
      docs (now someone needs to doc them)
      a28d6343
  34. 23 Aug, 2005 1 commit
    • Stefan Kost's avatar
      added about 100 symbols from gstreamer-unused.txt to the right sections fixed... · eef38df6
      Stefan Kost authored
      added about 100 symbols from gstreamer-unused.txt to the right sections fixed more broken comments added GstBus to docs
      
      Original commit message from CVS:
      * docs/gst/gstreamer-docs.sgml:
      * docs/gst/gstreamer-sections.txt:
      * docs/gst/gstreamer.types:
      * docs/gst/tmpl/.cvsignore:
      * gst/gstbin.h:
      * gst/gstbus.c:
      * gst/gstelement.c:
      * gst/gstevent.h:
      added about 100 symbols from gstreamer-unused.txt to the right sections
      fixed more broken comments
      added GstBus to docs
      eef38df6
  35. 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
  36. 06 Jul, 2005 1 commit
    • Jan Schmidt's avatar
      examples/: Update a couple of the examples to work again. · ba5cecf3
      Jan Schmidt authored
      Original commit message from CVS:
      * examples/Makefile.am:
      * examples/helloworld/helloworld.c: (event_loop), (main):
      * examples/queue/queue.c: (event_loop), (main):
      * examples/queue2/queue2.c: (main):
      Update a couple of the examples to work again.
      
      * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
      (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
      Spelling corrections and extra debug.
      
      * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
      (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
      (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
      * gst/gstbin.h:
      * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
      (gst_pipeline_change_state):
      * gst/gstpipeline.h:
      Move the bus handler for children to the GstBin, and create a
      separate bus for receiving messages from children to the one the
      bus sends 'upwards' on.
      ba5cecf3