+2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
+ * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
+ fix up some debugging
+ (gst_base_transform_get_unit_size),
+ (gst_base_transform_buffer_alloc), (gst_base_transform_event),
+ (gst_base_transform_handle_buffer):
+ * gst/base/gstbasetransform.h:
+ handle and store timed NEWSEGMENT events so that subclasses that
+ calculate time by counting samples have a segment_start time they
+ need to add to their timestamps - see audioresample
+
2005-08-26 Stefan Kost <ensonic@users.sf.net>
* gst/gstbin.h:
- removed ';' from the end of macro defs
+ removed ';' from the end of macro defs
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/.cvsignore:
* 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)
+ 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)
2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
+<!-- ##### MACRO GST_CAPS_REFCOUNT ##### -->
+<para>
+
+</para>
+
+@caps:
+
+
+<!-- ##### MACRO GST_CAPS_REFCOUNT_VALUE ##### -->
+<para>
+
+</para>
+
+@caps:
+
+
<!-- ##### MACRO GST_STATIC_CAPS_ANY ##### -->
<para>
Creates a static caps that matches anything. This can be used in pad
@Returns:
+<!-- ##### FUNCTION gst_caps_is_equal_fixed ##### -->
+<para>
+
+</para>
+
+@caps1:
+@caps2:
+@Returns:
+
+
<!-- ##### FUNCTION gst_caps_is_always_compatible ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_caps_make_writable ##### -->
+<para>
+
+</para>
+
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_caps_ref ##### -->
+<para>
+
+</para>
+
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_caps_structure_fixate_field_boolean ##### -->
+<para>
+
+</para>
+
+@structure:
+@field_name:
+@target:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_caps_truncate ##### -->
+<para>
+
+</para>
+
+@caps:
+
+
+<!-- ##### FUNCTION gst_caps_unref ##### -->
+<para>
+
+</para>
+
+@caps:
+
+
@tv: The target timeval
+<!-- ##### MACRO GST_TIMESPEC_TO_TIME ##### -->
+<para>
+
+</para>
+
+@ts:
+
+
+<!-- ##### MACRO GST_TIME_TO_TIMESPEC ##### -->
+<para>
+
+</para>
+
+@t:
+@ts:
+
+
<!-- ##### MACRO GST_CLOCK_ENTRY_TRACE_NAME ##### -->
<para>
The name used for tracing clock entry allocations.
@clock: the clock to query
+<!-- ##### MACRO GST_CLOCK_BROADCAST ##### -->
+<para>
+
+</para>
+
+@clock:
+
+
+<!-- ##### MACRO GST_CLOCK_CAST ##### -->
+<para>
+
+</para>
+
+@clock:
+
+
+<!-- ##### MACRO GST_CLOCK_COND ##### -->
+<para>
+
+</para>
+
+@clock:
+
+
+<!-- ##### MACRO GST_CLOCK_TIMED_WAIT ##### -->
+<para>
+
+</para>
+
+@clock:
+@tv:
+
+
+<!-- ##### MACRO GST_CLOCK_WAIT ##### -->
+<para>
+
+</para>
+
+@clock:
+
+
<!-- ##### FUNCTION gst_clock_set_resolution ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_clock_adjust_unlocked ##### -->
+<para>
+
+</para>
+
+@clock:
+@internal:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_clock_set_time_adjust ##### -->
+<para>
+
+</para>
+
+@clock:
+@adjust:
+
+
<!-- ##### FUNCTION gst_clock_id_get_time ##### -->
<para>
@id:
+<!-- ##### FUNCTION gst_clock_id_compare_func ##### -->
+<para>
+
+</para>
+
+@id1:
+@id2:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_clock_id_ref ##### -->
+<para>
+
+</para>
+
+@id:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_clock_id_unref ##### -->
+<para>
+
+</para>
+
+@id:
+
+
@get_query_types:
@query:
+<!-- ##### ENUM GstElementFlags ##### -->
+<para>
+This enum defines the standard flags that an element may have.
+</para>
+
+@GST_ELEMENT_LOCKED_STATE:
+@GST_ELEMENT_IS_SINK:
+@GST_ELEMENT_UNPARENTING:
+@GST_ELEMENT_FLAG_LAST:
+
<!-- ##### MACRO GST_NUM_STATES ##### -->
<para>
The maximun number of states.
-<!-- ##### ENUM GstElementFlags ##### -->
+<!-- ##### MACRO GST_STATE_BROADCAST ##### -->
<para>
-This enum defines the standard flags that an element may have.
+
</para>
-@GST_ELEMENT_LOCKED_STATE:
-@GST_ELEMENT_IS_SINK:
-@GST_ELEMENT_FLAG_LAST:
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_ERROR ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_STATE_FINAL ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_STATE_GET_COND ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_GET_LOCK ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_LOCK ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_NO_PREROLL ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_STATE_SIGNAL ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_TIMED_WAIT ##### -->
+<para>
+
+</para>
+
+@elem:
+@timeval:
+
+
+<!-- ##### MACRO GST_STATE_TRYLOCK ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_UNLOCK ##### -->
+<para>
+
+</para>
+
+@elem:
+
+
+<!-- ##### MACRO GST_STATE_WAIT ##### -->
+<para>
+
+</para>
+
+@elem:
+
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
<para>
@message:
+<!-- ##### MACRO GST_ELEMENT_BUS ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_ELEMENT_WARNING ##### -->
+<para>
+
+</para>
+
+@el:
+@domain:
+@code:
+@text:
+@debug:
+
+
+<!-- ##### MACRO GST_ELEMENT_IS_LOCKED_STATE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### FUNCTION gst_element_abort_preroll ##### -->
+<para>
+
+</para>
+
+@element:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_abort_state ##### -->
+<para>
+
+</para>
+
+@element:
+
+
+<!-- ##### FUNCTION gst_element_add_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@pad:
+@Returns:
+
+
<!-- ##### FUNCTION gst_element_class_add_pad_template ##### -->
<para>
@templ:
+<!-- ##### FUNCTION gst_element_class_get_pad_template ##### -->
+<para>
+
+</para>
+
+@element_class:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_class_get_pad_template_list ##### -->
+<para>
+
+</para>
+
+@element_class:
+@Returns:
+
+
<!-- ##### FUNCTION gst_element_class_install_std_props ##### -->
<para>
@details:
-<!-- ##### MACRO gst_element_get_name ##### -->
+<!-- ##### FUNCTION gst_element_commit_state ##### -->
<para>
-Gets the name of the element.
+
</para>
-@elem:
-@Returns: the name of the element.
+@element:
-<!-- link -->
+<!-- ##### FUNCTION gst_element_create_all_pads ##### -->
+<para>
+</para>
-<!-- ##### MACRO gst_element_set_name ##### -->
+@element:
+
+
+<!-- ##### FUNCTION gst_element_factory_can_sink_caps ##### -->
<para>
-Sets the name of the element, getting rid of the old name if there was one.
+
</para>
-@elem: a #GstElement to set the name of.
-@name: the new name of the element.
+@factory:
+@caps:
+@Returns:
-<!-- ##### MACRO gst_element_get_parent ##### -->
+<!-- ##### FUNCTION gst_element_factory_can_src_caps ##### -->
<para>
-Gets the parent of an element.
+
</para>
-@elem: a #GstElement to get the parent of.
-@Returns: the #GstObject parent of the element.
+@factory:
+@caps:
+@Returns:
-<!-- ##### MACRO gst_element_set_parent ##### -->
+<!-- ##### FUNCTION gst_element_factory_get_static_pad_templates ##### -->
<para>
-Sets the parent of an element.
+
</para>
-@elem: a #GstElement to set the parent of.
-@parent: the new #GstObject parent of the object.
+@factory:
+@Returns:
-<!-- ##### FUNCTION gst_element_requires_clock ##### -->
+<!-- ##### FUNCTION gst_element_finish_preroll ##### -->
<para>
</para>
@element:
+@pad:
@Returns:
-<!-- ##### FUNCTION gst_element_provides_clock ##### -->
+<!-- ##### FUNCTION gst_element_found_tags ##### -->
<para>
</para>
@element:
-@Returns:
+@list:
-<!-- ##### FUNCTION gst_element_get_clock ##### -->
+<!-- ##### FUNCTION gst_element_found_tags_for_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@pad:
+@list:
+
+
+<!-- ##### FUNCTION gst_element_get_base_time ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gst_element_set_clock ##### -->
+<!-- ##### FUNCTION gst_element_get_bus ##### -->
<para>
</para>
@element:
-@clock:
+@Returns:
-<!-- ##### FUNCTION gst_element_is_indexable ##### -->
+<!-- ##### FUNCTION gst_element_get_clock ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gst_element_set_index ##### -->
+<!-- ##### FUNCTION gst_element_get_compatible_pad ##### -->
<para>
</para>
@element:
-@index:
+@pad:
+@caps:
+@Returns:
-<!-- ##### FUNCTION gst_element_get_index ##### -->
+<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
<para>
</para>
@element:
+@compattempl:
@Returns:
-<!-- ##### FUNCTION gst_element_add_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_factory ##### -->
<para>
</para>
@element:
-@pad:
@Returns:
-<!-- ##### FUNCTION gst_element_remove_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_index ##### -->
<para>
</para>
@element:
-@pad:
@Returns:
+<!-- ##### MACRO gst_element_get_name ##### -->
+<para>
+Gets the name of the element.
+</para>
+
+@elem:
+@Returns: the name of the element.
+
+
+<!-- link -->
+
+
<!-- ##### FUNCTION gst_element_get_pad ##### -->
<para>
@Returns: GList of #GstPads
-<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
+<!-- ##### MACRO gst_element_get_parent ##### -->
+<para>
+Gets the parent of an element.
+</para>
+
+@elem: a #GstElement to get the parent of.
+@Returns: the #GstObject parent of the element.
+
+
+<!-- ##### FUNCTION gst_element_get_query_types ##### -->
<para>
</para>
@element:
-@name:
@Returns:
@Returns:
-<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_state ##### -->
<para>
</para>
@element:
-@pad:
+@state:
+@pending:
+@timeout:
+@Returns:
-<!-- ##### FUNCTION gst_element_get_compatible_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_static_pad ##### -->
<para>
</para>
@element:
-@pad:
-@caps:
+@name:
@Returns:
-<!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### -->
+<!-- ##### FUNCTION gst_element_is_indexable ##### -->
<para>
</para>
@element:
-@compattempl:
@Returns:
-<!-- ##### FUNCTION gst_element_link ##### -->
+<!-- ##### FUNCTION gst_element_is_locked_state ##### -->
<para>
</para>
-@src:
-@dest:
+@element:
@Returns:
-<!-- ##### FUNCTION gst_element_link_many ##### -->
+<!-- ##### FUNCTION gst_element_iterate_pads ##### -->
<para>
</para>
-@element_1:
-@element_2:
-@Varargs:
+@element:
@Returns:
-<!-- ##### FUNCTION gst_element_unlink ##### -->
+<!-- ##### FUNCTION gst_element_iterate_sink_pads ##### -->
+<para>
+
+</para>
+
+@element:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_iterate_src_pads ##### -->
+<para>
+
+</para>
+
+@element:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_link ##### -->
<para>
</para>
@src:
@dest:
+@Returns:
-<!-- ##### FUNCTION gst_element_unlink_many ##### -->
+<!-- ##### FUNCTION gst_element_link_many ##### -->
<para>
</para>
@element_1:
@element_2:
@Varargs:
+@Returns:
<!-- ##### FUNCTION gst_element_link_pads ##### -->
@Returns:
-<!-- ##### FUNCTION gst_element_unlink_pads ##### -->
+<!-- ##### FUNCTION gst_element_link_pads_filtered ##### -->
<para>
</para>
@srcpadname:
@dest:
@destpadname:
+@filter:
+@Returns:
-<!-- pad manipulation -->
+<!-- ##### FUNCTION gst_element_lost_state ##### -->
+<para>
+</para>
-<!-- ##### FUNCTION gst_element_send_event ##### -->
+@element:
+
+
+<!-- ##### FUNCTION gst_element_message_full ##### -->
+<para>
+
+</para>
+
+@element:
+@type:
+@domain:
+@code:
+@text:
+@debug:
+@file:
+@function:
+@line:
+
+
+<!-- ##### FUNCTION gst_element_no_more_pads ##### -->
+<para>
+
+</para>
+
+@element:
+
+
+<!-- ##### FUNCTION gst_element_post_message ##### -->
+<para>
+
+</para>
+
+@element:
+@message:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_provides_clock ##### -->
+<para>
+
+</para>
+
+@element:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_query ##### -->
+<para>
+
+</para>
+
+@element:
+@query:
+@Returns:
+<!-- # Unused Parameters # -->
+@type:
+@format:
+@value:
+
+
+<!-- ##### FUNCTION gst_element_query_convert ##### -->
+<para>
+
+</para>
+
+@element:
+@src_format:
+@src_val:
+@dest_fmt:
+@dest_val:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_query_position ##### -->
+<para>
+
+</para>
+
+@element:
+@format:
+@cur:
+@end:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_release_request_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@pad:
+
+
+<!-- ##### FUNCTION gst_element_remove_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@pad:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_element_requires_clock ##### -->
<para>
</para>
@element:
-@event:
@Returns:
@offset:
-<!-- ##### FUNCTION gst_element_get_query_types ##### -->
+<!-- ##### FUNCTION gst_element_send_event ##### -->
<para>
</para>
@element:
+@event:
@Returns:
-<!-- ##### FUNCTION gst_element_query ##### -->
+<!-- ##### FUNCTION gst_element_set_base_time ##### -->
<para>
</para>
@element:
-@query:
-@Returns:
-<!-- # Unused Parameters # -->
-@type:
-@format:
-@value:
+@time:
-<!-- ##### FUNCTION gst_element_is_locked_state ##### -->
+<!-- ##### FUNCTION gst_element_set_bus ##### -->
<para>
</para>
@element:
-@Returns:
+@bus:
-<!-- ##### FUNCTION gst_element_set_locked_state ##### -->
+<!-- ##### FUNCTION gst_element_set_clock ##### -->
<para>
</para>
@element:
-@locked_state:
-@Returns:
+@clock:
-<!-- ##### FUNCTION gst_element_sync_state_with_parent ##### -->
+<!-- ##### FUNCTION gst_element_set_index ##### -->
<para>
</para>
@element:
-@Returns:
+@index:
-<!-- ##### FUNCTION gst_element_get_state ##### -->
+<!-- ##### FUNCTION gst_element_set_locked_state ##### -->
<para>
</para>
@element:
-@state:
-@pending:
-@timeout:
+@locked_state:
@Returns:
+<!-- ##### MACRO gst_element_set_name ##### -->
+<para>
+Sets the name of the element, getting rid of the old name if there was one.
+</para>
+
+@elem: a #GstElement to set the name of.
+@name: the new name of the element.
+
+
+<!-- ##### MACRO gst_element_set_parent ##### -->
+<para>
+Sets the parent of an element.
+</para>
+
+@elem: a #GstElement to set the parent of.
+@parent: the new #GstObject parent of the object.
+
+
<!-- ##### FUNCTION gst_element_set_state ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gst_element_get_factory ##### -->
+<!-- ##### FUNCTION gst_element_sync_state_with_parent ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gst_element_no_more_pads ##### -->
+<!-- ##### FUNCTION gst_element_unlink ##### -->
<para>
</para>
-@element:
+@src:
+@dest:
+
+
+<!-- ##### FUNCTION gst_element_unlink_many ##### -->
+<para>
+
+</para>
+
+@element_1:
+@element_2:
+@Varargs:
+
+
+<!-- ##### FUNCTION gst_element_unlink_pads ##### -->
+<para>
+
+</para>
+
+@src:
+@srcpadname:
+@dest:
+@destpadname:
+
+
+<!-- pad manipulation -->
@Returns:
+<!-- ##### FUNCTION gst_format_iterate_definitions ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
@Returns:
+<!-- ##### FUNCTION gst_ghost_pad_get_target ##### -->
+<para>
+
+</para>
+
+@gpad:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_ghost_pad_new_notarget ##### -->
+<para>
+
+</para>
+
+@name:
+@dir:
+@Returns:
+
+
</para>
+<!-- ##### USER_FUNCTION GstDebugFuncPtr ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### USER_FUNCTION GstLogFunction ##### -->
<para>
@Returns:
+<!-- ##### MACRO GST_CAT_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### MACRO GST_CAT_LEVEL_LOG ##### -->
<para>
GST_CAT_LEVEL_LOG:
</para>
@it:
-@result:
+@elem:
@Returns:
+<!-- # Unused Parameters # -->
+@result:
<!-- ##### FUNCTION gst_iterator_resync ##### -->
@GST_MINI_OBJECT_FLAG_STATIC:
@GST_MINI_OBJECT_FLAG_LAST:
+<!-- ##### USER_FUNCTION GstMiniObjectCopyFunction ##### -->
+<para>
+
+</para>
+
+@Param1:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GstMiniObjectFinalizeFunction ##### -->
+<para>
+
+</para>
+
+@Param1:
+
+
<!-- ##### MACRO GST_MINI_OBJECT_FLAGS ##### -->
<para>
@flag:
+<!-- ##### MACRO GST_MINI_OBJECT_REFCOUNT ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_MINI_OBJECT_REFCOUNT_VALUE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
<!-- ##### FUNCTION gst_mini_object_new ##### -->
<para>
@obj: Object to get the mutex of.
+<!-- ##### MACRO GST_OBJECT_IS_DESTROYED ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_OBJECT_IS_DISPOSING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_OBJECT_IS_FLOATING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_OBJECT_REFCOUNT ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_OBJECT_REFCOUNT_VALUE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_CLASS_GET_LOCK ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_CLASS_LOCK ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_CLASS_TRYLOCK ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GST_CLASS_UNLOCK ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
<!-- ##### FUNCTION gst_object_set_name ##### -->
<para>
@object:
+<!-- ##### FUNCTION gst_object_get_name_prefix ##### -->
+<para>
+
+</para>
+
+@object:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_object_set_name_prefix ##### -->
+<para>
+
+</para>
+
+@object:
+@name_prefix:
+
+
<!-- ##### FUNCTION gst_object_default_deep_notify ##### -->
<para>
@excluded_props:
+<!-- ##### FUNCTION gst_object_default_error ##### -->
+<para>
+
+</para>
+
+@source:
+@error:
+@debug:
+
+
<!-- ##### FUNCTION gst_object_check_uniqueness ##### -->
<para>
@GST_PAD_REQUEST: the pad is only available on request with
gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
+<!-- ##### ENUM GstFlowReturn ##### -->
+<para>
+
+</para>
+
+@GST_FLOW_RESEND:
+@GST_FLOW_OK:
+@GST_FLOW_NOT_LINKED:
+@GST_FLOW_WRONG_STATE:
+@GST_FLOW_UNEXPECTED:
+@GST_FLOW_NOT_NEGOTIATED:
+@GST_FLOW_ERROR:
+@GST_FLOW_NOT_SUPPORTED:
+
+<!-- ##### ENUM GstActivateMode ##### -->
+<para>
+
+</para>
+
+@GST_ACTIVATE_NONE:
+@GST_ACTIVATE_PUSH:
+@GST_ACTIVATE_PULL:
+
+<!-- ##### MACRO GST_PREROLL_BROADCAST ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_GET_COND ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_GET_LOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_LOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_SIGNAL ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_TIMED_WAIT ##### -->
+<para>
+
+</para>
+
+@pad:
+@timeval:
+
+
+<!-- ##### MACRO GST_PREROLL_TRYLOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_UNLOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_PREROLL_WAIT ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_STREAM_GET_LOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_STREAM_LOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_STREAM_LOCK_FULL ##### -->
+<para>
+
+</para>
+
+@pad:
+@t:
+
+
+<!-- ##### MACRO GST_STREAM_TRYLOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_STREAM_UNLOCK ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_STREAM_UNLOCK_FULL ##### -->
+<para>
+
+</para>
+
+@pad:
+
+
+<!-- ##### MACRO GST_FLOW_IS_FATAL ##### -->
+<para>
+
+</para>
+
+@ret:
+
+
<!-- ##### FUNCTION gst_pad_new ##### -->
<para>
@pad:
@src_format:
@src_val:
-@dest_fmt:
+@dest_format:
@dest_val:
@Returns:
+<!-- # Unused Parameters # -->
+@dest_fmt:
<!-- ##### FUNCTION gst_pad_set_internal_link_function ##### -->
@templ:
+<!-- ##### FUNCTION gst_static_pad_template_get_caps ##### -->
+<para>
+
+</para>
+
+@templ:
+@Returns:
+
+
<!-- ##### FUNCTION gst_pad_template_get_caps ##### -->
<para>
</para>
+<!-- ##### ENUM GstPipelineFlags ##### -->
+<para>
+
+</para>
+
+@GST_PIPELINE_FLAG_FIXED_CLOCK:
+@GST_PIPELINE_FLAG_LAST:
+
<!-- ##### FUNCTION gst_pipeline_new ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_pipeline_auto_clock ##### -->
+<para>
+
+</para>
+
+@pipeline:
+
+
+<!-- ##### FUNCTION gst_pipeline_get_bus ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_pipeline_get_clock ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_pipeline_get_last_stream_time ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_pipeline_set_clock ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@clock:
+
+
+<!-- ##### FUNCTION gst_pipeline_set_new_stream_time ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@time:
+
+
+<!-- ##### FUNCTION gst_pipeline_use_clock ##### -->
+<para>
+
+</para>
+
+@pipeline:
+@clock:
+
+
@Param1:
+<!-- ##### MACRO gst_query_copy ##### -->
+<para>
+
+</para>
+
+@msg:
+
+
+<!-- ##### FUNCTION gst_query_get_structure ##### -->
+<para>
+
+</para>
+
+@query:
+@Returns:
+
+
+<!-- ##### MACRO gst_query_make_writable ##### -->
+<para>
+
+</para>
+
+@msg:
+
+
+<!-- ##### FUNCTION gst_query_new_application ##### -->
+<para>
+
+</para>
+
+@type:
+@structure:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_query_new_convert ##### -->
+<para>
+
+</para>
+
+@src_fmt:
+@value:
+@dest_fmt:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_query_new_position ##### -->
+<para>
+
+</para>
+
+@format:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_query_parse_convert ##### -->
+<para>
+
+</para>
+
+@query:
+@src_format:
+@src_value:
+@dest_format:
+@dest_value:
+
+
+<!-- ##### FUNCTION gst_query_parse_position ##### -->
+<para>
+
+</para>
+
+@query:
+@format:
+@cur:
+@end:
+
+
+<!-- ##### FUNCTION gst_query_parse_seeking_query ##### -->
+<para>
+
+</para>
+
+@query:
+@format:
+
+
+<!-- ##### FUNCTION gst_query_parse_seeking_response ##### -->
+<para>
+
+</para>
+
+@query:
+@format:
+@seekable:
+@segment_start:
+@segment_end:
+
+
+<!-- ##### MACRO gst_query_ref ##### -->
+<para>
+
+</para>
+
+@msg:
+
+
+<!-- ##### FUNCTION gst_query_set_convert ##### -->
+<para>
+
+</para>
+
+@query:
+@src_format:
+@src_value:
+@dest_format:
+@dest_value:
+
+
+<!-- ##### FUNCTION gst_query_set_formats ##### -->
+<para>
+
+</para>
+
+@query:
+@n_formats:
+@Varargs:
+
+
+<!-- ##### FUNCTION gst_query_set_position ##### -->
+<para>
+
+</para>
+
+@query:
+@format:
+@cur:
+@end:
+
+
+<!-- ##### FUNCTION gst_query_set_seeking ##### -->
+<para>
+
+</para>
+
+@query:
+@format:
+@seekable:
+@segment_start:
+@segment_end:
+
+
+<!-- ##### FUNCTION gst_query_type_iterate_definitions ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### MACRO gst_query_unref ##### -->
+<para>
+
+</para>
+
+@msg:
+
+
@Returns:
+<!-- ##### USER_FUNCTION GstStructureMapFunc ##### -->
+<para>
+
+</para>
+
+@field_id:
+@value:
+@user_data:
+@Returns:
+
+
<!-- ##### FUNCTION gst_structure_empty_new ##### -->
<para>
@field:
+<!-- ##### FUNCTION gst_structure_map_in_place ##### -->
+<para>
+
+</para>
+
+@structure:
+@func:
+@user_data:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_structure_nth_field_name ##### -->
+<para>
+
+</para>
+
+@structure:
+@index:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_structure_set_parent_refcount ##### -->
+<para>
+
+</para>
+
+@structure:
+@refcount:
+
+
<!-- ##### FUNCTION gst_structure_to_string ##### -->
<para>
@src:
+<!-- ##### MACRO GST_TAG_TITLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ARTIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ALBUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_DATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_GENRE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_TRACK_NUMBER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_TRACK_COUNT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ALBUM_VOLUME_NUMBER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ALBUM_VOLUME_COUNT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_LOCATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_DESCRIPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ISRC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ORGANIZATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_COPYRIGHT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_CONTACT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_LICENSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_PERFORMER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_DURATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_CODEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_VIDEO_CODEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_AUDIO_CODEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_BITRATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_NOMINAL_BITRATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_MINIMUM_BITRATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_MAXIMUM_BITRATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_SERIAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ENCODER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ENCODER_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_TRACK_GAIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_TRACK_PEAK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ALBUM_GAIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_ALBUM_PEAK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GST_TAG_LANGUAGE_CODE ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### FUNCTION gst_tag_register ##### -->
<para>
@Returns:
-<!-- ##### MACRO GST_TAG_TITLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ARTIST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ALBUM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_DATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_GENRE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_COMMENT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_TRACK_NUMBER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_TRACK_COUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ALBUM_VOLUME_NUMBER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ALBUM_VOLUME_COUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_LOCATION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_DESCRIPTION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_VERSION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ISRC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ORGANIZATION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_COPYRIGHT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_CONTACT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_LICENSE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_PERFORMER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_DURATION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_CODEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_VIDEO_CODEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_AUDIO_CODEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_BITRATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_NOMINAL_BITRATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_MINIMUM_BITRATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_MAXIMUM_BITRATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_SERIAL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ENCODER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ENCODER_VERSION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_TRACK_GAIN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_TRACK_PEAK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ALBUM_GAIN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_ALBUM_PEAK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO GST_TAG_LANGUAGE_CODE ##### -->
-<para>
-
-</para>
-
-
-
@trace:
+<!-- ##### FUNCTION gst_alloc_trace_print_live ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### FUNCTION gst_alloc_trace_set_flags ##### -->
<para>
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### FUNCTION gst_util_set_value_from_string ##### -->
-<para>
-
-</para>
-
-@value:
-@value_str:
-
-
-<!-- ##### FUNCTION gst_util_set_object_arg ##### -->
-<para>
-
-</para>
-
-@object:
-@name:
-@value:
-
-
-<!-- ##### FUNCTION gst_util_dump_mem ##### -->
-<para>
-
-</para>
-
-@mem:
-@size:
-
-
-<!-- ##### FUNCTION gst_print_pad_caps ##### -->
-<para>
-
-</para>
-
-@buf:
-@indent:
-@pad:
-
-
-<!-- ##### FUNCTION gst_print_element_args ##### -->
-<para>
-
-</para>
-
-@buf:
-@indent:
-@element:
-
-
-<!-- ##### FUNCTION gst_bin_watch_for_state_change ##### -->
-<para>
-
-</para>
-
-@bin:
-
-
<!-- ##### MACRO GST_BOILERPLATE_WITH_INTERFACE ##### -->
<para>
@\
parent_type_as_macro:
@\
+ parent_type_as_macro:
+@\
+ parent_type_as_macro:
+@\
parent_type_as_macro:
@interface_type:
@interface_type_as_macro:
@\
interface_as_function:
@\
+ interface_as_function:
+@\
+ interface_as_function:
+@\
interface_as_function:
@num:
+<!-- ##### FUNCTION gst_atomic_int_set ##### -->
+<para>
+
+</para>
+
+@atomic_int:
+@value:
+
+
+<!-- ##### FUNCTION gst_bin_watch_for_state_change ##### -->
+<para>
+
+</para>
+
+@bin:
+
+
+<!-- ##### FUNCTION gst_flow_get_name ##### -->
+<para>
+
+</para>
+
+@ret:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_print_element_args ##### -->
+<para>
+
+</para>
+
+@buf:
+@indent:
+@element:
+
+
+<!-- ##### FUNCTION gst_print_pad_caps ##### -->
+<para>
+
+</para>
+
+@buf:
+@indent:
+@pad:
+
+
+<!-- ##### FUNCTION gst_util_dump_mem ##### -->
+<para>
+
+</para>
+
+@mem:
+@size:
+
+
+<!-- ##### FUNCTION gst_util_set_object_arg ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@value:
+
+
+<!-- ##### FUNCTION gst_util_set_value_from_string ##### -->
+<para>
+
+</para>
+
+@value:
+@value_str:
+
+
@x: the #GValue to check
+<!-- ##### MACRO GST_VALUE_HOLDS_ARRAY ##### -->
+<para>
+
+</para>
+
+@x:
+
+
+<!-- ##### MACRO GST_VALUE_HOLDS_MINI_OBJECT ##### -->
+<para>
+
+</para>
+
+@value:
+
+
<!-- ##### MACRO GST_VALUE_LESS_THAN ##### -->
<para>
Indicates that the first value provided to a comparison function
@denominator:
+<!-- ##### MACRO gst_value_get_buffer ##### -->
+<para>
+
+</para>
+
+@v:
+
+
+<!-- ##### MACRO gst_value_set_buffer ##### -->
+<para>
+
+</para>
+
+@v:
+@b:
+
+
+<!-- ##### MACRO gst_value_take_buffer ##### -->
+<para>
+
+</para>
+
+@v:
+@b:
+
+
<!-- ##### FUNCTION gst_value_fraction_multiply ##### -->
<para>
@arg1:
@arg2:
+<!-- ##### USER_FUNCTION GstXMLRegistryClose ##### -->
+<para>
+
+</para>
+
+@registry:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GstXMLRegistryGetPerms ##### -->
+<para>
+
+</para>
+
+@registry:
+
+
+<!-- ##### USER_FUNCTION GstXMLRegistryLoad ##### -->
+<para>
+
+</para>
+
+@registry:
+@dest:
+@size:
+@Returns:
+
+
+<!-- ##### ENUM GstXMLRegistryMode ##### -->
+<para>
+
+</para>
+
+@GST_XML_REGISTRY_READ:
+@GST_XML_REGISTRY_WRITE:
+
+<!-- ##### USER_FUNCTION GstXMLRegistryOpen ##### -->
+<para>
+
+</para>
+
+@registry:
+@mode:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GstXMLRegistryParser ##### -->
+<para>
+
+</para>
+
+@context:
+@tag:
+@text:
+@text_len:
+@registry:
+@error:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GstXMLRegistrySave ##### -->
+<para>
+
+</para>
+
+@registry:
+@format:
+@Varargs:
+@Returns:
+
+
+<!-- ##### ENUM GstXMLRegistryState ##### -->
+<para>
+
+</para>
+
+@GST_XML_REGISTRY_NONE:
+@GST_XML_REGISTRY_TOP:
+@GST_XML_REGISTRY_PATHS:
+@GST_XML_REGISTRY_PATH:
+@GST_XML_REGISTRY_PATHS_DONE:
+@GST_XML_REGISTRY_PLUGIN:
+@GST_XML_REGISTRY_FEATURE:
+@GST_XML_REGISTRY_PADTEMPLATE:
+@GST_XML_REGISTRY_CAPS:
+@GST_XML_REGISTRY_STRUCTURE:
+@GST_XML_REGISTRY_PROPERTIES:
+
<!-- ##### FUNCTION gst_xml_write ##### -->
<para>
&basesink->segment_base);
if (format != GST_FORMAT_TIME) {
- GST_DEBUG ("received non time %d DISCONT %" G_GINT64_FORMAT
+ GST_DEBUG_OBJECT (basesink,
+ "received non time %d NEW_SEGMENT %" G_GINT64_FORMAT
" -- %" G_GINT64_FORMAT ", base %" G_GINT64_FORMAT,
format, basesink->segment_start, basesink->segment_stop,
basesink->segment_base);
basesink->segment_stop = -1;
basesink->segment_base = -1;
} else {
- GST_DEBUG ("received DISCONT %" GST_TIME_FORMAT " -- %"
+ GST_DEBUG_OBJECT (basesink,
+ "received DISCONT %" GST_TIME_FORMAT " -- %"
GST_TIME_FORMAT ", base %" GST_TIME_FORMAT,
GST_TIME_ARGS (basesink->segment_start),
GST_TIME_ARGS (basesink->segment_stop),
* range since the sink might be able to clip the sample. */
if (GST_CLOCK_TIME_IS_VALID (end) &&
GST_CLOCK_TIME_IS_VALID (basesink->segment_start)) {
- if (end <= basesink->segment_start)
+ if (end <= basesink->segment_start) {
+ GST_DEBUG ("buffer end %" GST_TIME_FORMAT " <= segment start %"
+ GST_TIME_FORMAT ", dropping buffer", GST_TIME_ARGS (end),
+ GST_TIME_ARGS (basesink->segment_start));
goto dropping;
+ }
}
if (GST_CLOCK_TIME_IS_VALID (start) &&
GST_CLOCK_TIME_IS_VALID (basesink->segment_stop)) {
- if (basesink->segment_stop <= start)
+ if (basesink->segment_stop <= start) {
+ GST_DEBUG ("buffer start %" GST_TIME_FORMAT " >= segment stop %"
+ GST_TIME_FORMAT ", dropping buffer", GST_TIME_ARGS (start),
+ GST_TIME_ARGS (basesink->segment_stop));
goto dropping;
+ }
}
}
basesink->preroll_queued++;
buf = GST_BUFFER (g_queue_pop_tail (basesink->preroll_queue));
- GST_DEBUG ("dropping sample outside of segment boundaries %"
- GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
-
gst_buffer_unref (buf);
GST_PREROLL_UNLOCK (pad);
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
+ case GST_EVENT_NEWSEGMENT:
+ {
+ GstFormat format;
+ gdouble rate;
+ gint64 start, stop, base;
+
+ GST_STREAM_LOCK (pad);
+ gst_event_parse_newsegment (event, &rate, &format, &start, &stop, &base);
+ if (format == GST_FORMAT_TIME) {
+ GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" GST_TIME_FORMAT
+ " -- %" GST_TIME_FORMAT ", base %" GST_TIME_FORMAT,
+ start, stop, base);
+ trans->have_newsegment = TRUE;
+ trans->segment_start = start;
+ trans->segment_stop = stop;
+ trans->segment_base = base;
+ trans->segment_rate = rate;
+ } else {
+ GST_DEBUG_OBJECT (trans,
+ "received NEW_SEGMENT in non-time format, ignoring");
+ }
+ GST_STREAM_UNLOCK (pad);
+ break;
+ }
default:
break;
}
gboolean delay_configure;
gboolean pending_configure;
+ gboolean have_newsegment;
+
+ gdouble segment_rate;
+ gint64 segment_start;
+ gint64 segment_stop;
+ gint64 segment_base;
+
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
&basesink->segment_base);
if (format != GST_FORMAT_TIME) {
- GST_DEBUG ("received non time %d DISCONT %" G_GINT64_FORMAT
+ GST_DEBUG_OBJECT (basesink,
+ "received non time %d NEW_SEGMENT %" G_GINT64_FORMAT
" -- %" G_GINT64_FORMAT ", base %" G_GINT64_FORMAT,
format, basesink->segment_start, basesink->segment_stop,
basesink->segment_base);
basesink->segment_stop = -1;
basesink->segment_base = -1;
} else {
- GST_DEBUG ("received DISCONT %" GST_TIME_FORMAT " -- %"
+ GST_DEBUG_OBJECT (basesink,
+ "received DISCONT %" GST_TIME_FORMAT " -- %"
GST_TIME_FORMAT ", base %" GST_TIME_FORMAT,
GST_TIME_ARGS (basesink->segment_start),
GST_TIME_ARGS (basesink->segment_stop),
* range since the sink might be able to clip the sample. */
if (GST_CLOCK_TIME_IS_VALID (end) &&
GST_CLOCK_TIME_IS_VALID (basesink->segment_start)) {
- if (end <= basesink->segment_start)
+ if (end <= basesink->segment_start) {
+ GST_DEBUG ("buffer end %" GST_TIME_FORMAT " <= segment start %"
+ GST_TIME_FORMAT ", dropping buffer", GST_TIME_ARGS (end),
+ GST_TIME_ARGS (basesink->segment_start));
goto dropping;
+ }
}
if (GST_CLOCK_TIME_IS_VALID (start) &&
GST_CLOCK_TIME_IS_VALID (basesink->segment_stop)) {
- if (basesink->segment_stop <= start)
+ if (basesink->segment_stop <= start) {
+ GST_DEBUG ("buffer start %" GST_TIME_FORMAT " >= segment stop %"
+ GST_TIME_FORMAT ", dropping buffer", GST_TIME_ARGS (start),
+ GST_TIME_ARGS (basesink->segment_stop));
goto dropping;
+ }
}
}
basesink->preroll_queued++;
buf = GST_BUFFER (g_queue_pop_tail (basesink->preroll_queue));
- GST_DEBUG ("dropping sample outside of segment boundaries %"
- GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
-
gst_buffer_unref (buf);
GST_PREROLL_UNLOCK (pad);
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
+ case GST_EVENT_NEWSEGMENT:
+ {
+ GstFormat format;
+ gdouble rate;
+ gint64 start, stop, base;
+
+ GST_STREAM_LOCK (pad);
+ gst_event_parse_newsegment (event, &rate, &format, &start, &stop, &base);
+ if (format == GST_FORMAT_TIME) {
+ GST_DEBUG_OBJECT (trans, "received NEW_SEGMENT %" GST_TIME_FORMAT
+ " -- %" GST_TIME_FORMAT ", base %" GST_TIME_FORMAT,
+ start, stop, base);
+ trans->have_newsegment = TRUE;
+ trans->segment_start = start;
+ trans->segment_stop = stop;
+ trans->segment_base = base;
+ trans->segment_rate = rate;
+ } else {
+ GST_DEBUG_OBJECT (trans,
+ "received NEW_SEGMENT in non-time format, ignoring");
+ }
+ GST_STREAM_UNLOCK (pad);
+ break;
+ }
default:
break;
}
gboolean delay_configure;
gboolean pending_configure;
+ gboolean have_newsegment;
+
+ gdouble segment_rate;
+ gint64 segment_start;
+ gint64 segment_stop;
+ gint64 segment_base;
+
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};