[fdsrc plugin] : what should happen on seeking a non-seekable file.

satish pattar satish.pattar at gmail.com
Mon May 9 04:42:15 PDT 2011

Hello Stephan,

Sorry repeatedly  asking the same querry. I am using fdsrc to read from some
special file which is not a regular file , I mean not seekable file.

Data expected to  come on this special device.  I have simulated
non-seekable file using pipe & simply redirecting the o/p of cat on some mp3
file to this device file.

My pipeline (fdsrc ! decodebin2 ! autoaudiosink) is reading from the fd of
this device file & playing it correctly.

I am not sure of how seeking is done for on this pipeline  [since fdsrc's
seek is segment based gst_fd_src_do_seek (GstBaseSrc * src, GstSegment *
segment) ]
However I am using seek in time units (I am not sure of segment seeking is
required here or not)

 if(!(gst_element_seek (pipeline, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
                      new_pos, GST_SEEK_TYPE_NONE,  GST_CLOCK_TIME_NONE)))

the seek is failing immediately (as expected since pipe is non-seekable) ,
however there is no playback happening for some time & I see
"gst_fd_src_create" is being called multiple times by gstreamer &
fdsrc->curoffset is updated  & after some time normal playback is resumed ,
but now it plays from the new offset(due to seek), which is not expected ,
rather it should have been playing from the same offset as just before
gst_element_seek is called.

Your inputs are highly appreciated.

Thanks & Regards,

Satish Pattar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110509/f2e336dc/attachment.htm>

More information about the gstreamer-devel mailing list