- 15 Oct, 2009 1 commit
-
-
Wim Taymans authored
When we quickly switch from PLAYING to PAUSED and back to PLAYING it's possible in some cases that the task refuses to start, This is because when we go to PAUSED, we unschedule the clock timeout, which could return UNSCHEDULED when we're back to PLAYING, causing the task to PAUSE again with a wrong-state. This patch checks if we are running when we return with an UNSCHEDULED return value and if we are, try to create a new buffer. Fixes #597550
-
- 07 Oct, 2009 1 commit
-
-
Stefan Kost authored
In most places in core and baseclasses we just need the caps to do caps- intersections. In that case ref'ed caps are enough (no need to copy). This patch also switches the code to use the new functions. API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
-
- 01 Sep, 2009 1 commit
-
-
Wim Taymans authored
-
- 24 Aug, 2009 1 commit
-
-
Wim Taymans authored
-
- 24 Jul, 2009 1 commit
-
-
Robin Stocker authored
Return FALSE in basesrc's default query handler when we get a SEEKING query for a format that's not the one the source operates in. Previously (ie. before, in the git version) we would return TRUE in that case and seekable=FALSE, which is more correct, but causes backwards compatibility problems. (Before that we would change the format of the query when answering, which was completely broken since callers don't expect that or check for it). Since the SEEKING query is a fairly recent addition, not all demuxers, parsers and decoders implement it yet, in which case any SEEKING query by an application will just be passed upstream where it will then be handled by basesrc. Now, if e.g. totem does a SEEKING query for TIME format and we have a demuxer that doesn't implement the query, basesrc would answer it with seekable=FALSE in most cases, and totem can only take that as authoritative answer, not knowing that the demuxer doesn't implement the SEEKING query. To avoid this, we make basesrc return FALSE to SEEKING queries in unhandled formats. That way applications like totem can fall back on assuming seekability depending on whether a duration is available, or somesuch. Downstream elements doing such queries are likely to equate an unhandled query with a non-seekable response as well, so this should be an acceptable fix for the time being. See #584838, #588944, #589423 and #589424.
-
- 20 Jul, 2009 2 commits
-
-
Wim Taymans authored
See #588745
-
Edward Hervey authored
-
- 15 Jun, 2009 1 commit
-
-
Wim Taymans authored
-
- 05 Jun, 2009 1 commit
-
-
Mark Nauwelaerts authored
-
- 11 May, 2009 1 commit
-
-
Wim Taymans authored
-
- 04 Apr, 2009 2 commits
-
-
Edward Hervey authored
The variable will not be read before it's assigned a value line 942/945
-
Sebastian Dröge authored
-
- 11 Mar, 2009 1 commit
-
-
Edward Hervey authored
-
- 10 Mar, 2009 1 commit
-
-
Stefan Kost authored
Demote one log that can come quite often. Remove one fixme that is done. Apply gst-indent changes.
-
- 23 Feb, 2009 1 commit
-
-
Wim Taymans authored
When we get empty caps from the getcaps function in the default negotiate function, post a more descriptive error.
-
- 29 Jan, 2009 1 commit
-
-
Stefan Kost authored
-
- 04 Nov, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * gst/gstbin.c: (bin_handle_async_start), (gst_bin_handle_message_func), (gst_bin_query): * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object), (gst_base_sink_event), (gst_base_sink_change_state): * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop), (gst_base_src_change_state): Copy seqnums from events to messages so that they can all be related back to eachother.
-
- 20 Oct, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Update comment. * libs/gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer), (gst_base_transform_reconfigure): Add some debug info. * win32/common/libgstbase.def: Add new method.
-
- 19 Oct, 2008 1 commit
-
-
Stefan Kost authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek); Remove duplicated assignment and log a message in failure case.
-
- 16 Oct, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): Update some docs.
-
- 10 Oct, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * docs/design/part-negotiation.txt: Small doc update. * docs/libs/gstreamer-libs-sections.txt: * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init), (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps), (gst_base_sink_init), (gst_base_sink_set_blocksize), (gst_base_sink_get_blocksize), (gst_base_sink_set_property), (gst_base_sink_get_property), (gst_base_sink_needs_preroll), (gst_base_sink_loop), (gst_base_sink_pad_activate), (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull), (gst_base_sink_change_state): * libs/gst/base/gstbasesink.h: Add blocksize property and methods to control the amount of data to pull. Negotiate first before activating upstream in pull mode so that they can negotiate themselves. When we operate in pull mode, we only accept the caps that we negotiated. Make the sink go ASYNC to PAUSED, like all other sinks. API: GstBaseSink::gst_base_sink_set_blocksize() API: GstBaseSink::gst_base_sink_get_blocksize() API: GstBaseSink::blocksize * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_set_live), (gst_base_src_is_live), (gst_base_src_set_format), (gst_base_src_query_latency), (gst_base_src_set_blocksize), (gst_base_src_get_blocksize), (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp), (gst_base_src_set_property), (gst_base_src_get_property): * libs/gst/base/gstbasesrc.h: Add typechecking in public API functions. Add methods to control the blocksize in subclasses. API: GstBaseSrc::gst_base_src_set_blocksize() API: GstBaseSrc::gst_base_src_get_blocksize()
-
- 21 Aug, 2008 1 commit
-
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: Use the result from gst_pad_set_caps() instead of assuming the element always accepted th... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate): Use the result from gst_pad_set_caps() instead of assuming the element always accepted the caps computed by the default negotiate function.
-
- 12 Aug, 2008 1 commit
-
-
Stefan Kost authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Fix headings in docs and gtk-doc warnings.
-
- 24 Jul, 2008 1 commit
-
-
Thijs Vermeir authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasesrc.h: Don't cache the seekable status. Fixes bug #544174
-
- 28 May, 2008 1 commit
-
-
libs/gst/base/gstbasesrc.c: Make sending an EOS event to the basesrc non-blocking even if the implementation does blo... Original commit message from CVS: Based on patch by: Bjarne Rosengren <bjarne at axis dot com> * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event), (gst_base_src_get_range), (gst_base_src_pad_get_range), (gst_base_src_loop), (gst_base_src_set_flushing), (gst_base_src_change_state): Make sending an EOS event to the basesrc non-blocking even if the implementation does blocking waits in the create function. This is done by unlocking the create function when EOS is sent. Fixes #535218.
-
- 19 May, 2008 2 commits
-
-
Tim-Philipp Müller authored
libs/gst/base/gstbasesrc.c: Use right error code when typefinding fails, so we can use the default (translated) error... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_start): Use right error code when typefinding fails, so we can use the default (translated) error messages.
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: When the subclass did not set caps on outgoing buffers, configure the caps we negotiated ... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range), (gst_base_src_start): When the subclass did not set caps on outgoing buffers, configure the caps we negotiated on the source pad. When the typefind helper does not find caps, error out properly instead of doing things with NULL caps.
-
- 07 May, 2008 2 commits
-
-
Ole Andre Vadla Ravnaas authored
libs/gst/base/gstbasesrc.c (gst_base_src_default_query): Declaration after statement fix for compilers like MSVC. Original commit message from CVS: * libs/gst/base/gstbasesrc.c (gst_base_src_default_query): Declaration after statement fix for compilers like MSVC.
-
Wim Taymans authored
Original commit message from CVS: * libs/gst/base/gstadapter.c: (gst_adapter_available_fast): Small code cleanup. * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_set_flushing): * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek): Fix some comments.
-
- 09 Apr, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1. * gst/gstquery.c: (gst_query_new_buffering): Set buffering-left to 0 as we're not buffering by default. * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): Implement BUFFERING query.
-
- 22 Mar, 2008 1 commit
-
-
Sebastian Dröge authored
Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static... Original commit message from CVS: * docs/pwg/advanced-dparams.xml: * docs/pwg/building-props.xml: * docs/pwg/other-source.xml: * gst/glib-compat.h: * gst/gstbin.c: (gst_bin_class_init): * gst/gstclock.c: (gst_clock_class_init): * gst/gstindex.c: (gst_index_class_init): * gst/gstobject.c: (gst_object_class_init): * gst/gstpad.c: (gst_pad_class_init): * gst/gstpipeline.c: (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_class_init): * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init): * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore), (_gst_check_fault_handler_sighandler), (_gst_check_fault_handler_setup), (gst_check_init): * libs/gst/controller/gstcontroller.c: (_gst_controller_class_init): * libs/gst/controller/gstlfocontrolsource.c: (gst_lfo_control_source_class_init): * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_class_init): * plugins/indexers/gstfileindex.c: (gst_file_index_class_init): Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Fixes bug #523806.
-
- 05 Feb, 2008 1 commit
-
-
Sebastian Dröge authored
Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ... Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init), (gst_bin_class_init): * gst/gstelement.c: (gst_element_base_class_init), (gst_element_class_add_pad_template): * gst/gstpadtemplate.c: (gst_pad_template_init): * gst/gstpipeline.c: (gst_pipeline_get_type), (gst_pipeline_base_init), (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type), (gst_base_src_base_init), (gst_base_src_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init), (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init), (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init), (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init), (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init), (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_base_init), (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_base_init), (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_base_init), (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_base_init), (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_base_init), (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_base_init), (gst_type_find_element_class_init): * tests/check/gst/gstelement.c: (gst_element_suite): Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it breaks too many elements. Reopens bug #491501. Should be applied again for 0.11, thus added a few FIXME 0.11 at several places.
-
- 03 Feb, 2008 1 commit
-
-
Sebastian Dröge authored
Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o... Original commit message from CVS: * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init): * gst/gstpipeline.c: (gst_pipeline_get_type), (gst_pipeline_class_init): * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type), (gst_base_sink_class_init): * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type), (gst_base_src_class_init): * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type), (gst_base_transform_class_init): * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init), (gst_collect_pads_class_init): * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type): * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_base_init), (gst_net_time_provider_class_init): * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init), (gst_capsfilter_class_init): * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init), (gst_fake_sink_class_init): * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init), (gst_fake_src_class_init): * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init), (gst_fd_sink_class_init): * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init), (gst_fd_src_class_init): * plugins/elements/gstfilesink.c: (gst_file_sink_base_init), (gst_file_sink_class_init): * plugins/elements/gstfilesrc.c: (gst_file_src_base_init), (gst_file_src_class_init): * plugins/elements/gstidentity.c: (gst_identity_base_init), (gst_identity_class_init): * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init), (gst_multi_queue_class_init): * plugins/elements/gstqueue.c: (gst_queue_base_init), (gst_queue_class_init): * plugins/elements/gsttee.c: (gst_tee_base_init), (gst_tee_class_init): * plugins/elements/gsttypefindelement.c: (gst_type_find_element_base_init), (gst_type_find_element_class_init): Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates or setting element details. Leave empty base_init functions in several places as GST_BOILERPLATE still defines and uses them.
-
- 09 Jan, 2008 1 commit
-
-
Wim Taymans authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek), (gst_base_src_loop): The start segment for reverse playback goes from start to last_stop.
-
- 07 Jan, 2008 1 commit
-
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: Don't update the last_stop position in do_seek, that's the position we did a seek to. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek), (gst_base_src_loop): Don't update the last_stop position in do_seek, that's the position we did a seek to. Read backwards when we have a negative rate. * tests/check/elements/filesrc.c: (event_func), (wait_eos), (setup_filesrc), (cleanup_filesrc), (GST_START_TEST), (filesrc_suite): Add check for reverse reading.
-
- 19 Dec, 2007 1 commit
-
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: Allow sending EOS to the source to make it send out an EOS event from the streaming thread. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event), (gst_base_src_get_range), (gst_base_src_pad_get_range), (gst_base_src_loop), (gst_base_src_set_flushing), (gst_base_src_change_state): Allow sending EOS to the source to make it send out an EOS event from the streaming thread. Update docs and deprecate the old NULL/READY shutdown method. * tests/check/libs/basesrc.c: (GST_START_TEST), (gst_basesrc_suite): Add unit test for controlled shutdown.
-
- 17 Dec, 2007 1 commit
-
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: Make _wait_playing() not check any variables so that we can call this function from subcl... Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing), (gst_base_src_perform_seek), (gst_base_src_get_range), (gst_base_src_set_playing), (gst_base_src_change_state): Make _wait_playing() not check any variables so that we can call this function from subclasses. Move the checks elsewhere similar to _wait_preroll() in basesink. Add some debugging. Only signal the LIVE cond when we are going back to PLAYING.
-
- 13 Dec, 2007 1 commit
-
-
Stefan Kost authored
libs/gst/base/: Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming thread. Correct log message in gstba... Original commit message from CVS: * libs/gst/base/gstbasesink.c: * libs/gst/base/gstbasesrc.c: * libs/gst/base/gstbasetransform.c: Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming thread. Correct log message in gstbasesrc.c.
-
- 06 Nov, 2007 1 commit
-
-
Wim Taymans authored
libs/gst/base/gstbasesrc.c: Unify flushing code, remove some old unlock code that is no longer used. Original commit message from CVS: * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query), (gst_base_src_perform_seek), (gst_base_src_default_event), (gst_base_src_set_flushing), (gst_base_src_activate_push), (gst_base_src_activate_pull): Unify flushing code, remove some old unlock code that is no longer used. Take the streaming lock when seeking to avoid races. Fixes #492729. Added some more comments.
-
- 31 Oct, 2007 1 commit
-
-
Stefan Kost authored
Original commit message from CVS: * libs/gst/base/gstbasesrc.c: Its "Since:" and not "@Since:". And remove an superflous cast.
-