1. 09 Nov, 2007 2 commits
  2. 30 Oct, 2007 2 commits
  3. 25 Oct, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin2.c: Move subtitle encoding property to decodebin2 so... · 8c203477
      Wim Taymans authored
      gst/playback/gstdecodebin2.c: Move subtitle encoding property to decodebin2 so that it can set the property value on ...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
      (gst_decode_bin_dispose), (gst_decode_bin_set_caps),
      (gst_decode_bin_set_subs_encoding),
      (gst_decode_bin_get_subs_encoding), (gst_decode_bin_set_property),
      (gst_decode_bin_get_property), (analyze_new_pad):
      Move subtitle encoding property to decodebin2 so that it can set the
      property value on all elements that it autoplugs and that require it.
      Make caps refcounting more consistent in get/set.
      * gst/playback/gsturidecodebin.c: (_gst_boolean_accumulator),
      (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
      (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
      (gst_uri_decode_bin_get_property), (proxy_unknown_type_signal),
      (proxy_autoplug_continue_signal),
      (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
      (make_decoder):
      Proxy properties and relevant signals from the internal decodebin.
      Make properties MT safe.
      8c203477
  4. 24 Oct, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/: Remove the autoplug-sort signal and replace it with a binding... · 77cef568
      Wim Taymans authored
      gst/playback/: Remove the autoplug-sort signal and replace it with a binding friendly autoplug-select signal.
      
      Original commit message from CVS:
      Inspired by patch of: René Stadler <mail at renestadler dot de>
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
      (gst_decode_bin_autoplug_continue),
      (gst_decode_bin_autoplug_factories),
      (gst_decode_bin_autoplug_select), (analyze_new_pad), (connect_pad),
      (find_compatibles):
      * gst/playback/gstplay-marshal.list:
      Remove the autoplug-sort signal and replace it with a binding friendly
      autoplug-select signal.
      Add an autoplug-factories signal that can be used to generate a list of
      factories to try to autoplug.
      Add the GstPad to the autoplugging signal args as it might be needed to
      make a good factory selection.
      Fix up the marshallers for this. Fixes #407282.
      77cef568
  5. 16 Oct, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin.c: Make the window for a race in typefind and... · d33d2be0
      Wim Taymans authored
      gst/playback/gstdecodebin.c: Make the window for a race in typefind and shutting down smaller until we figure out the...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin.c: (new_pad), (type_found):
      Make the window for a race in typefind and shutting down smaller until
      we figure out the right locking here. Avoids #485753 usually.
      * gst/playback/gstdecodebin2.c: (type_found), (pad_added_group_cb):
      Remove unneeded lock causing a race in typefind and shutting down.
      Fixes #485753.
      * gst/playback/gstplaybin.c: (gst_play_bin_change_state):
      Also remove sinks when going to NULL because we might not complete the
      state change to PAUSED, causing the PAUSED->READY state change not to
      happen.
      d33d2be0
  6. 08 Oct, 2007 2 commits
    • Wim Taymans's avatar
      gst/playback/: Don't disconnect the have_type signal because we never... · d0897a35
      Wim Taymans authored
      gst/playback/: Don't disconnect the have_type signal because we never reconnect it later on. Instead keep a variable ...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin.c: (type_found),
      (gst_decode_bin_change_state):
      * gst/playback/gstdecodebin2.c: (type_found),
      (gst_decode_bin_change_state):
      Don't disconnect the have_type signal because we never reconnect it
      later on. Instead keep a variable to see if we already detected a type.
      d0897a35
    • Wim Taymans's avatar
      gst/playback/: Unlink the signal handler when we found the type, we're not... · ecb6c197
      Wim Taymans authored
      gst/playback/: Unlink the signal handler when we found the type, we're not going to do anything sensible with more ty...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin.c: (add_fakesink), (type_found):
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
      (type_found):
      Unlink the signal handler when we found the type, we're not going to do
      anything sensible with more type_found signals anyway.
      ecb6c197
  7. 10 Sep, 2007 1 commit
  8. 28 Jun, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin2.c: When creating the groups, allow for a 5 second,... · c198d800
      Wim Taymans authored
      gst/playback/gstdecodebin2.c: When creating the groups, allow for a 5 second, unlimited buffers preroll phase after w...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_group_new),
      (gst_decode_group_expose), (gst_decode_group_free), (add_fakesink):
      When creating the groups, allow for a 5 second, unlimited buffers
      preroll phase after which we expose the group.
      When the group is exposed, use a small number of buffers up to a 2
      second limit. Also disconnect the overrun signal from multiqueue when we
      exposed the group because it is not needed anymore.
      c198d800
  9. 20 Jun, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin2.c: When handling a delayed-caps notification case,... · 3b2762a5
      Wim Taymans authored
      gst/playback/gstdecodebin2.c: When handling a delayed-caps notification case, mark the group as dynamic so that the n...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (analyze_new_pad):
      When handling a delayed-caps notification case, mark
      the group as dynamic so that the nbdynamic count is
      incremented and decremented correctly. Fixes: #449156
      Patch by: Wim Taymans <wim@fluendo.com>
      3b2762a5
  10. 05 Jun, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin2.c: Add support for delayed caps fixation when autoplugging. · 3840b5a2
      Wim Taymans authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter),
      (analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb),
      (caps_notify_group_cb), (gst_decode_group_new),
      (gst_decode_group_free):
      Add support for delayed caps fixation when autoplugging.
      Optimize cases where a multiqueue is not needed/wanted, like right after
      anything that is not a demuxer.
      3840b5a2
  11. 17 May, 2007 1 commit
    • Wim Taymans's avatar
      gst/playback/gstdecodebin2.c: Make decodebin2 autoplug depayloaders too. · a18a10e8
      Wim Taymans authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
      Make decodebin2 autoplug depayloaders too.
      * gst/playback/gsturidecodebin.c: (source_new_pad):
      Set the newly created decoder in a usable state when autoplugging a
      dynamic source such as RTSP.
      a18a10e8
  12. 01 May, 2007 1 commit
  13. 03 Apr, 2007 1 commit
    • Tommi Myöhänen's avatar
      gst/playback/gstdecodebin2.c: Decodebin2 doesn't unref pads it obtains in some occasions: · 8676f3dc
      Tommi Myöhänen authored
      Original commit message from CVS:
      Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
      * gst/playback/gstdecodebin2.c: (connect_pad), (expose_pad),
      (deactivate_free_recursive):
      Decodebin2 doesn't unref pads it obtains in some occasions:
      - multiqueue src pads, when either connecting further or exposing
      - sink pads of new autoplugged elements
      - peer pads when recursively freeing elements
      Fixes #425455.
      8676f3dc
  14. 04 Mar, 2007 1 commit
    • Thomas Vander Stichele's avatar
      rename utils to pbutils · f6bd20e5
      Thomas Vander Stichele authored
      Original commit message from CVS:
      * configure.ac:
      * docs/libs/gst-plugins-base-libs-docs.sgml:
      * docs/libs/gst-plugins-base-libs-sections.txt:
      * gst-libs/gst/Makefile.am:
      * gst-libs/gst/interfaces/mixer.c:
      * gst-libs/gst/pbutils/Makefile.am:
      * gst-libs/gst/pbutils/descriptions.c:
      (gst_pb_utils_get_source_description),
      (gst_pb_utils_get_sink_description),
      (gst_pb_utils_get_decoder_description),
      (gst_pb_utils_get_encoder_description),
      (gst_pb_utils_get_element_description),
      (gst_pb_utils_add_codec_description_to_tag_list),
      (gst_pb_utils_get_codec_description), (gst_pb_utils_list_all):
      * gst-libs/gst/pbutils/descriptions.h:
      * gst-libs/gst/pbutils/install-plugins.c:
      * gst-libs/gst/pbutils/install-plugins.h:
      * gst-libs/gst/pbutils/missing-plugins.c:
      (gst_missing_uri_source_message_new),
      (gst_missing_uri_sink_message_new),
      (gst_missing_element_message_new),
      (gst_missing_decoder_message_new),
      (gst_missing_encoder_message_new),
      (gst_missing_plugin_message_get_description):
      * gst-libs/gst/pbutils/missing-plugins.h:
      * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init):
      * gst-libs/gst/pbutils/pbutils.h:
      * gst-libs/gst/utils/Makefile.am:
      * gst-libs/gst/utils/base-utils.c:
      * gst-libs/gst/utils/base-utils.h:
      * gst-libs/gst/utils/descriptions.c:
      * gst-libs/gst/utils/descriptions.h:
      * gst-libs/gst/utils/install-plugins.c:
      * gst-libs/gst/utils/install-plugins.h:
      * gst-libs/gst/utils/missing-plugins.c:
      * gst-libs/gst/utils/missing-plugins.h:
      * gst-plugins-base.spec.in:
      * gst/playback/Makefile.am:
      * gst/playback/gstdecodebin.c:
      * gst/playback/gstdecodebin2.c:
      * gst/playback/gstplaybasebin.c: (setup_subtitle),
      (gen_source_element):
      * gst/playback/gstplaybin.c: (plugin_init):
      * tests/check/Makefile.am:
      * tests/check/libs/pbutils.c: (GST_START_TEST),
      (test_pb_utils_install_plugins_do_callout), (libgstpbutils_suite):
      * tests/check/libs/utils.c:
      rename utils to pbutils
      f6bd20e5
  15. 02 Mar, 2007 1 commit
    • Jan Schmidt's avatar
      Add documentation for decodebin2 that indicates that the API is still unstable. · c73e88a6
      Jan Schmidt authored
      Original commit message from CVS:
      * docs/plugins/Makefile.am:
      * docs/plugins/gst-plugins-base-plugins-docs.sgml:
      * docs/plugins/gst-plugins-base-plugins-sections.txt:
      * docs/plugins/inspect/plugin-decodebin2.xml:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
      Add documentation for decodebin2 that indicates that the API
      is still unstable.
      c73e88a6
  16. 20 Feb, 2007 2 commits
    • Edward Hervey's avatar
      gst/playback/gstdecodebin2.c: Don't free groups from the streaming threads.... · 7bc6fc07
      Edward Hervey authored
      gst/playback/gstdecodebin2.c: Don't free groups from the streaming threads. Just put them aside and free them in disp...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
      (multi_queue_underrun_cb), (gst_decode_group_check_if_drained),
      (sort_end_pads), (gst_decode_group_expose),
      (gst_decode_group_hide):
      Don't free groups from the streaming threads. Just put them aside and
      free them in dispose.
      7bc6fc07
    • Edward Hervey's avatar
      gst/playback/gstdecodebin2.c: Handle dynamic pads within groups. · 7746c2f1
      Edward Hervey authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (connect_element),
      (pad_added_group_cb), (gst_decode_group_check_if_blocked),
      (sort_end_pads), (gst_decode_group_expose):
      Handle dynamic pads within groups.
      Sort pads before exposing them in order to make playbin happy.
      There still is a race with the multiqueue filling up. This should be
      solved separately.
      Fixes #398721
      7746c2f1
  17. 09 Feb, 2007 1 commit
    • Tim-Philipp Müller's avatar
      gst/playback/: Don't error out if there is no fakesink in the READY to NULL... · 12f5dd47
      Tim-Philipp Müller authored
      gst/playback/: Don't error out if there is no fakesink in the READY to NULL state change, since when decodebin is re-...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin.c: (add_fakesink),
      (gst_decode_bin_change_state):
      * gst/playback/gstdecodebin2.c: (add_fakesink),
      (gst_decode_bin_change_state):
      Don't error out if there is no fakesink in the READY to NULL state
      change, since when decodebin is re-used, we're only adding the
      fakesink element in READY to PAUSED.
      * tests/check/elements/decodebin.c:
      (new_decoded_pad_plug_fakesink_cb), (GST_START_TEST),
      (decodebin_suite):
      Minimal unit test to make sure we can use the same decodebin
      instance twice (at least with audiotestsrc input).
      12f5dd47
  18. 25 Jan, 2007 3 commits
    • Tim-Philipp Müller's avatar
      gst/playback/gstdecodebin2.c: Cast lock macro parameters to make sure we're... · af529009
      Tim-Philipp Müller authored
      gst/playback/gstdecodebin2.c: Cast lock macro parameters to make sure we're actually accessing the lock member at the...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose):
      Cast lock macro parameters to make sure we're actually accessing the
      lock member at the right class level. Free list itself in _dispose()
      as well and NULL it in case dispose gets called multiple times.
      af529009
    • Edward Hervey's avatar
      gst/playback/gstdecodebin2.c: Free GstDecodeGroups no longer used. · a8d29e1f
      Edward Hervey authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c:
      (gst_decode_bin_dispose),(gst_decode_bin_finalize):
      Free GstDecodeGroups no longer used.
      (gst_decode_group_expose):
      Don't unlock too many times !
      (deactivate_free_recursive):
      Free iterator once we're done with it.
      Fix for recursively deactivating elements (stop at ghostpads).
      a8d29e1f
    • Edward Hervey's avatar
      gst/playback/gstdecodebin2.c: Set queues to bigger sizes to cope with HD contents. · 77cf01b7
      Edward Hervey authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize),
      (gst_decode_group_new), (gst_decode_group_free):
      Set queues to bigger sizes to cope with HD contents.
      Fix some mutex freeing and add comment about MT safe methods.
      77cf01b7
  19. 23 Jan, 2007 1 commit
    • Tim-Philipp Müller's avatar
      gst/playback/gstdecodebin2.c: Don't leak mutex. · b8d04c88
      Tim-Philipp Müller authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
      Don't leak mutex.
      * tests/check/elements/playbin.c:
      (test_sink_usage_video_only_stream),
      (test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
      (test_suburi_error_wrongproto), (test_missing_urisource_handler),
      (test_missing_suburisource_handler),
      (test_missing_primary_decoder), (playbin_suite):
      Run all tests once with decodebin and once with decodebin2.
      One test does not pass yet with decodebin2.
      b8d04c88
  20. 22 Jan, 2007 1 commit
    • Edward Hervey's avatar
      gst/playback/gstdecodebin2.c: Cleanups. · a5146c90
      Edward Hervey authored
      Original commit message from CVS:
      * gst/playback/gstdecodebin2.c: (gst_decode_group_new),
      (get_current_group), (group_demuxer_event_probe),
      (gst_decode_group_expose), (deactivate_free_recursive),
      (gst_decode_group_free):
      Cleanups.
      Don't forget to emit 'no-more-pads' once a group is exposed.
      Cleanup elements from a DecodeGroup once we remove it.
      Protect call to gst_decode_group_expose() with the decodebin lock.
      a5146c90
  21. 17 Jan, 2007 1 commit
    • Tim-Philipp Müller's avatar
      gst/playback/: Let decodebin be the element to post missing-plugin messages... · 5262208d
      Tim-Philipp Müller authored
      gst/playback/: Let decodebin be the element to post missing-plugin messages for missing decoders (rather than playbin...
      
      Original commit message from CVS:
      * gst/playback/Makefile.am:
      * gst/playback/gstdecodebin.c: (close_pad_link):
      * gst/playback/gstdecodebin2.c: (analyze_new_pad):
      * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
      (gst_play_base_bin_handle_message_func), (unknown_type):
      Let decodebin be the element to post missing-plugin messages for
      missing decoders (rather than playbin); make playbin implement
      GstBin::handle_message so we can suppress missing-plugin messages
      for types we're not handling on purpose (don't want to bring up an
      installer in those cases).
      5262208d
  22. 05 Jan, 2007 1 commit
    • Tim-Philipp Müller's avatar
      Printf format and missing argument fixes. · 4e3fc961
      Tim-Philipp Müller authored
      Original commit message from CVS:
      * ext/ogg/gstoggdemux.c: (gst_ogg_pad_stream_out):
      * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
      * gst/playback/gstdecodebin2.c:
      (gst_decode_group_check_if_blocked):
      Printf format and missing argument fixes.
      4e3fc961
  23. 16 Dec, 2006 1 commit
    • Tim-Philipp Müller's avatar
      gst/playback/: Refuse to change state to READY when we failed to create any of... · 95f46c1f
      Tim-Philipp Müller authored
      gst/playback/: Refuse to change state to READY when we failed to create any of the required elements in our instance ...
      
      Original commit message from CVS:
      * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state):
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_change_state):
      Refuse to change state to READY when we failed to create any of the
      required elements in our instance init function.
      95f46c1f
  24. 28 Nov, 2006 1 commit
    • Edward Hervey's avatar
      gst/playback/: New decodebin2 element. · b8423f25
      Edward Hervey authored
      Original commit message from CVS:
      * gst/playback/Makefile.am:
      * gst/playback/gstdecodebin2.c: (gst_decode_bin_get_type),
      (_gst_boolean_accumulator), (gst_decode_bin_class_init),
      (gst_decode_bin_factory_filter), (compare_ranks), (print_feature),
      (gst_decode_bin_init), (gst_decode_bin_dispose),
      (gst_decode_bin_finalize), (gst_decode_bin_set_property),
      (gst_decode_bin_get_property), (gst_decode_bin_set_caps),
      (gst_decode_bin_get_caps), (gst_decode_bin_autoplug_continue),
      (gst_decode_bin_autoplug_sort), (analyze_new_pad), (connect_pad),
      (connect_element), (expose_pad), (type_found),
      (pad_added_group_cb), (pad_removed_group_cb),
      (no_more_pads_group_cb), (pad_added_cb), (pad_removed_cb),
      (no_more_pads_cb), (find_compatibles), (is_demuxer_element),
      (are_raw_caps), (multi_queue_overrun_cb),
      (multi_queue_underrun_cb), (gst_decode_group_new),
      (get_current_group), (group_demuxer_event_probe),
      (gst_decode_group_control_demuxer_pad),
      (gst_decode_group_control_source_pad),
      (gst_decode_group_check_if_blocked),
      (gst_decode_group_check_if_drained), (gst_decode_group_expose),
      (gst_decode_group_hide), (gst_decode_group_free),
      (gst_decode_group_set_complete), (source_pad_blocked_cb),
      (source_pad_event_probe), (gst_decode_pad_new), (add_fakesink),
      (remove_fakesink), (find_sink_pad), (gst_decode_bin_change_state),
      (plugin_init):
      New decodebin2 element.
      Closes #370092
      * gst/playback/gstplay-marshal.list:
      Added marshallers for new signals in decodebin2
      * gst/playback/gstplaybasebin.c: (setup_subtitle), (make_decoder):
      Use decodebin2 if *and only if* the USE_DECODEBIN2 environment variable
      is set.
      b8423f25