Warning, /libraries/phonon/doc/DESIGN/stream-thoughts is written in an unsupported language. File is not indexed.

0001 there are two different kind of streams: 1. media files 2. live radio/television
0002 
0003 The difference cannot reliably be determined by the backend so the application has to tell the
0004 frontend.
0005 
0006 This is the expected behaviour:
0007 1. media files
0008 ==============
0009 function | prev. state | action                                                         | new state
0010 ---------+-------------+----------------------------------------------------------------+----------
0011 ctor     |             |                                                                | Loading
0012 ---------+-------------+----------------------------------------------------------------+----------
0013 setUrl   | Loading     | refill buffers                                                 | Loading
0014          | Stopped     | refill buffers                                                 | Loading
0015 ---------+-------------+----------------------------------------------------------------+----------
0016 play     | Loading     | continue buffering                                             | Buffering
0017          | Stopped     | start playing                                                  | Playing
0018          | Buffering   | continue buffering                                             | Buffering
0019          | Playing     |                                                                | Playing
0020          | Paused      | continue playback                                              | Playing
0021 ---------+-------------+----------------------------------------------------------------+----------
0022 pause    | Loading     |                                                                | Loading
0023          | Stopped     |                                                                | Stopped
0024          | Buffering   | continue buffering                                             | Paused
0025          | Playing     | pause output and fill buffers to the max                       | Paused
0026          | Paused      |                                                                | Paused
0027 ---------+-------------+----------------------------------------------------------------+----------
0028 stop     | Loading     |                                                                | Loading
0029          | Stopped     |                                                                | Stopped
0030          | Buffering   | restart buffering from the beginning of the file               | Loading
0031          | Playing     | stop output and refill buffers from the beginning of the file  | Loading
0032          | Paused      | restart buffering from the beginning of the file               | Loading
0033 
0034 events
0035 function | prev. state | event                                                          | new state
0036 ---------+-------------+----------------------------------------------------------------+----------
0037          | Buffering   | when the buffers are filled start playing                      | Playing
0038          | Loading     | when buffers are filled                                        | Stopped
0039 
0040 
0041 
0042 2. live stream
0043 ==============
0044 function | prev. state | action                                                         | new state
0045 ---------+-------------+----------------------------------------------------------------+----------
0046 ctor     |             |                                                                | Loading
0047 ---------+-------------+----------------------------------------------------------------+----------
0048 setUrl   | Loading     |                                                                | Stopped
0049          | Stopped     |                                                                | Stopped
0050 ---------+-------------+----------------------------------------------------------------+----------
0051 play     | Loading     |                                                                | Error
0052          | Stopped     | start buffering                                                | Buffering
0053          | Buffering   | continue buffering                                             | Buffering
0054          | Playing     |                                                                | Playing
0055          | Paused      | continue playback                                              | Playing
0056 ---------+-------------+----------------------------------------------------------------+----------
0057 pause    | Loading     |                                                                | Error
0058          | Stopped     |                                                                | Stopped
0059          | Buffering   | continue buffering                                             | Paused
0060          | Playing     | pause output and fill (ring-)buffers to the max                | Paused
0061          | Paused      |                                                                | Paused
0062 ---------+-------------+----------------------------------------------------------------+----------
0063 stop     | Loading     |                                                                | Error
0064          | Stopped     |                                                                | Stopped
0065          | Buffering   | clear buffers                                                  | Stopped
0066          | Playing     | stop output and clear buffers                                  | Stopped
0067          | Paused      | clear buffers                                                  | Stopped
0068 
0069 events
0070 function | prev. state | event                                                          | new state
0071 ---------+-------------+----------------------------------------------------------------+----------
0072          | Buffering   | when the buffers are filled start playing                      | Playing