Phonon questions

Matthias Kretz kretz at
Sat Nov 11 17:43:34 GMT 2006

On Saturday 11 November 2006 17:44, mETz wrote:
> I'd think that buffering should not occur at all before play() gets called.

Hmm, I believe there are valid use cases for where it should start buffering 
before play() is called. Cases where you want an immediate (or as fast as 
possible) feedback: play() should be as few overhead as possible. Also all 
the getter functions wouldn't work then until you call play().

I agree that for some media stream cases you probably don't want to start 
buffering until playing, but then you could just do

setUrl( url ); play();

in your code...

> I'd expect that if the engine is stopped and I call setUrl() that it simply
> remembers that Url and maybe already checks if it supports that type of url
> (think about unsupported protocols).

Checking whether an URL is supported is rather a function for 
BackendCapabilities, no?

> Apart from that it should not do any 
> buffering, opening, loading, whatever.
> so you have something like:
> EmptyState -> (setUrl() call) -> StoppedState -> (play() call) ->
> BufferingState -> PlayingState -> (stop() call) -> StoppedState

This is the current "state diagram":
   |                        |
   |pre-buffering finished  |play()
   V                        V
Stopped                  Buffering
   |                        |
   |play()                  |buffering finished

> Btw, does the VideoWidget handle calls like hide() and show()? I'm thinking
> about using a QStackedWidget with one widget for video-display and one for
> audio-display (maybe with vis, maybe metadata, unsure about the look as of
> now).

VideoWidget should handle that, but the phonon-xine implementation doesn't. 
Again, libxine threading issue.


Matthias Kretz (Germany)                            <><
MatthiasKretz at, kretz at,
Matthias.Kretz at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <>
-------------- next part --------------
kde-multimedia mailing list
kde-multimedia at

More information about the kde-multimedia mailing list