<div dir="ltr"><div><div><div><div>Hi Sebastian,<br><br></div>Thanks for your quick reply.<br><br></div>Do I need to create this new segment always while doing a position query?<br><br></div>I am updating my application's timer and progress bar by calling a g_timeout_add of 250 ms on the pipeline and in the callback function, I am querying for the position.<br>
<br></div>Also, are you referring to using the functions like :<br><br><pre class=""><a href="https://developer.gnome.org/gstreamer/0.10/gstreamer-GstSegment.html#gst-segment-set-running-time" class="" title="gst_segment_set_running_time ()">gst_segment_set_running_time</a>  and <a href="https://developer.gnome.org/gstreamer/0.10/gstreamer-GstSegment.html#gst-segment-to-stream-time" class="" title="gst_segment_to_stream_time ()">gst_segment_to_stream_time</a> </pre>
<br><div><div><div>It will be really helpful to me if you point me to some code position/link that I can refer to.<br></div><div><br></div><div>Thanks Again.<br>Deepak Jain<br></div><div><br><br><div><br></div></div></div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 29, 2013 at 7:29 PM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fr, 2013-11-29 at 19:11 +0530, Deepak Jain wrote:<br>
> Hi,<br>
><br>
> I am working with Gstreamer 0.10.<br>
> I am working on a Video on Demand application where-in users can watch the<br>
> videos by streaming from their servers with adaptive streaming.<br>
><br>
> User can PLAY a video, can return BACK in the middle of movie playback and<br>
> can get back to that movie later. Instead of the usual PLAY option, user<br>
> also gets Resume PLAYBACk option wherein he can start from the same<br>
> position at where he stopped earlier.<br>
><br>
> My situation is similar. I am resuming playback.<br>
><br>
> Say, I am resuming from 120sec, but my pipeline will start from the<br>
> beginning, all things starts fresh, but data starts coming from 120sec.<br>
><br>
> My pipeline is appsrc->h264parse-ffdec_h264->xvimagesink.<br>
><br>
> While pushing buffers in the appsrc, I am also setting GST_BUFFER_TIMESTAMP.<br>
><br>
> Now, my problem is when I query pipeline for the position of the playback<br>
> using gst_element_query_position(), it always starts from zero, and due to<br>
> this, even though my playback starts from 120sec, my progress bar and timer<br>
> always starts from zero.<br>
><br>
> What could be the the cause of this problem ? and what should be the proper<br>
> solution ?<br>
><br>
> Please help me as i dont know how to fix it. I assume that<br>
> gst_element_query_position() should always return the timestamp of the<br>
> playing buffer, but its not.<br>
<br>
</div></div>gst_element_query_position() always returns the position in stream time,<br>
which by what you're doing is equal to the running time and going from 0<br>
to the end of file.<br>
<br>
You'll need to create adapted new-segment events in your source to a)<br>
make the stream time start from the time you want, while b) making the<br>
running time go from 0 to the end of the file.<br>
<br>
See gstreamer/docs/design/part-synchronization for an explanation of how<br>
the different times in GStreamer work together. This will also be easier<br>
to achieve with GStreamer 1.x as the segment handling was improved a<br>
lot.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Sebastian Dröge <<a href="mailto:sebastian@centricular.com">sebastian@centricular.com</a>><br>
Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
Expertise, Straight from the Source<br>
</font></span><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>