issues with abstractmediastream / seeking
Christoph Pfister
christophpfister at gmail.com
Sat Oct 13 20:16:35 CEST 2007
Hi,
I made some experiments about timeshift / dvb with kaffeine. The idea
is that you have a normal part (the user just watches TV) and a
timeshifting part (he presses pause --> the stream is recorded on the
harddisk --> the part stored on the hd should now be seekable). The
idea is to provide a custom seek slider (the non-seekable part would
be just cut off so that the user can't seek into it), although I dunno
how good that will work ;)
Nevertheless I found some general issues which could be taken care of:
1) If the stream size of the abstractmediastream is negative seeking
fails [1]. This should be easy to fix, on the other hand there's the
problem that the seek slider can't know the relative position if the
stream size is unknown. Maybe you have to use a custom seek slider
anyway in that case?
Maybe you can have a "extended" stream size which is allowed to change
(for example because the size increases as time passes) and is used to
update the seek slider.
2) seekStream() is quite restrictive. It absolutely needs the seek to
be successful. I think many backends also support some
less-restrictive seeking. That can mean a) a seek is allowed to failed
(in this case it's still at the old position) or b) you try to seek as
near as possible and return the new offset.
Christoph
More information about the Phonon-backends
mailing list