summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/phonon/stream-thoughts
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/phonon/phonon/stream-thoughts')
-rw-r--r--src/3rdparty/phonon/phonon/stream-thoughts72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/3rdparty/phonon/phonon/stream-thoughts b/src/3rdparty/phonon/phonon/stream-thoughts
new file mode 100644
index 0000000000..5fb6711a27
--- /dev/null
+++ b/src/3rdparty/phonon/phonon/stream-thoughts
@@ -0,0 +1,72 @@
+there are two different kind of streams: 1. media files 2. live radio/television
+
+The difference cannot reliably be determined by the backend so the application has to tell the
+frontend.
+
+This is the expected behaviour:
+1. media files
+==============
+function | prev. state | action | new state
+---------+-------------+----------------------------------------------------------------+----------
+ctor | | | Loading
+---------+-------------+----------------------------------------------------------------+----------
+setUrl | Loading | refill buffers | Loading
+ | Stopped | refill buffers | Loading
+---------+-------------+----------------------------------------------------------------+----------
+play | Loading | continue buffering | Buffering
+ | Stopped | start playing | Playing
+ | Buffering | continue buffering | Buffering
+ | Playing | | Playing
+ | Paused | continue playback | Playing
+---------+-------------+----------------------------------------------------------------+----------
+pause | Loading | | Loading
+ | Stopped | | Stopped
+ | Buffering | continue buffering | Paused
+ | Playing | pause output and fill buffers to the max | Paused
+ | Paused | | Paused
+---------+-------------+----------------------------------------------------------------+----------
+stop | Loading | | Loading
+ | Stopped | | Stopped
+ | Buffering | restart buffering from the beginning of the file | Loading
+ | Playing | stop output and refill buffers from the beginning of the file | Loading
+ | Paused | restart buffering from the beginning of the file | Loading
+
+events
+function | prev. state | event | new state
+---------+-------------+----------------------------------------------------------------+----------
+ | Buffering | when the buffers are filled start playing | Playing
+ | Loading | when buffers are filled | Stopped
+
+
+
+2. live stream
+==============
+function | prev. state | action | new state
+---------+-------------+----------------------------------------------------------------+----------
+ctor | | | Loading
+---------+-------------+----------------------------------------------------------------+----------
+setUrl | Loading | | Stopped
+ | Stopped | | Stopped
+---------+-------------+----------------------------------------------------------------+----------
+play | Loading | | Error
+ | Stopped | start buffering | Buffering
+ | Buffering | continue buffering | Buffering
+ | Playing | | Playing
+ | Paused | continue playback | Playing
+---------+-------------+----------------------------------------------------------------+----------
+pause | Loading | | Error
+ | Stopped | | Stopped
+ | Buffering | continue buffering | Paused
+ | Playing | pause output and fill (ring-)buffers to the max | Paused
+ | Paused | | Paused
+---------+-------------+----------------------------------------------------------------+----------
+stop | Loading | | Error
+ | Stopped | | Stopped
+ | Buffering | clear buffers | Stopped
+ | Playing | stop output and clear buffers | Stopped
+ | Paused | clear buffers | Stopped
+
+events
+function | prev. state | event | new state
+---------+-------------+----------------------------------------------------------------+----------
+ | Buffering | when the buffers are filled start playing | Playing