API

Matthias Kretz kretz at kde.org
Tue Jul 10 14:42:30 CEST 2007


no answers here, only more loud thoughts:

On Tuesday 10 July 2007, Richard wrote:
> > Could it be a property of the MediaSource?
> >
> > source.setPreRoll(false); //defaults to true
>
> Since playback functionallity is located in MediaObject, I think it
> makes most sense to add it there.

yes, but it's also connected to the source since you often want to 
enable/disable preroll depending on what source it is, like e.g. a radio 
stream.

> The reason I think this should be more in the control of the user, is
> for situations where you stream media over a network. Then you might
> need control over when the preroll occurs to e.g hold back playback
> until you can 'safely' play without stuttering (and show some
> progress indication of the time left before play).
> (But preroll includes network streaming, right? Or is that a part of
> some other concept...)

Yes, we have a problem with streams ATM.

If you setCurrentSource(someRadioStream) and preroll starts and then you wait 
5 min before calling play() what will you hear? 5min old stream? current 
stream? was the stream going over the network and getting dumped to /dev/null 
for the last 5 min then?

xinelib has no preroll concept so I have not really touched the issue yet.

Another one: when you stop a MediaObject will it preroll the current source 
again so that a subsequent call to play() is immediate?

> > It's scheduled for gapless playback anyway...
>
> perhaps the user don't want to start preroll streaming while the
> current media is playing/streaming...
> (I'm only thinking loudly...)

The backend should in this case know when the current source will finish and 
start preroll of the next source just in time so that it can do a gapless 
transition. This is impossible with libxine :-( but should be possible with a 
proper media framework.

-- 
________________________________________________________
Matthias Kretz (Germany)                            <><
http://Vir.homelinux.org/
MatthiasKretz at gmx.net, kretz at kde.org,
Matthias.Kretz at urz.uni-heidelberg.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/phonon-backends/attachments/20070710/662c0b6c/attachment.pgp 


More information about the Phonon-backends mailing list