Segment event generation at source plugin (Push mode)

AshishS tattibits at gmail.com
Wed Sep 10 05:53:11 PDT 2014


Hello, 

I am using below

=======
/**
 * gst_base_src_new_seamless_segment:
 * @src: The source
 * @start: The new start value for the segment
 * @stop: Stop value for the new segment
 * @position: The position value for the new segent
 *
 * Prepare a new seamless segment for emission downstream. This function
must
 * only be called by derived sub-classes, and only from the create()
function,
 * as the stream-lock needs to be held.
 *
 * The format for the new segment will be the current format of the source,
as
 * configured with gst_base_src_set_format()
 *
 * Returns: %TRUE if preparation of the seamless segment succeeded.
 *
 * Since: 0.10.26
 */
gboolean
gst_base_src_new_seamless_segment (GstBaseSrc * src, gint64 start, gint64
stop,
    gint64 position)
======

I am calling this from create function in my source plugin,

when i call as below first time:-
===
basesrc->segment.rate = 2.0;
ret = gst_base_src_new_seamless_segment(basesrc, 0, stopPos : -1, currPos)
===
Media play immediately with 2x speed, now when I want to reset to 1.0 rate,
i do below
===
basesrc->segment.rate = 1.0;
ret = gst_base_src_new_seamless_segment(basesrc, 0, stopPos : -1, currPos)
===
This time play hang's around for  5min, then starts playing at 1x speed.

Why play hangs, what is going wrong here please let me know? except the
comment for the function in "gstbasesrc.c" i did not found any much
information how it works.

Please let me know the correct behavior and some knowledge sharing on the
same

Thanks
Ashish S



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Segment-event-generation-at-source-plugin-Push-mode-tp4668625p4668634.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list