summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_player.eo
blob: afeb7c2d13209262d653f484614c442f8a5727f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
interface Efl.Player
{
   [[Efl media player interface

     @since 1.23
   ]]
   c_prefix: efl_player;
   methods {
        @property playing {
           [[Playback state of the media file.

             This property sets the playback state of the object. Re-setting the current
             playback state has no effect.

             If set to $false, the object's @.playback_progress property is, by default, reset to $[0.0]. A
             class may alter this behavior, and it will be stated in the documentation for a class
             if such behavior changes should be expected.

             Applying the $false playing state also has the same effect as the player object reaching
             the end of its playback, which may invoke additional behavior based on a class's
             implementation.
           ]]
           set {
              return: bool(false); [[If $true, the property change has succeeded.]]
           }
           get {
           }
           values {
                playing: bool; [[$true if playing, $false otherwise.]]
           }
        }
        @property paused {
           [[Pause state of the media file.

             This property sets the pause state of the media.  Re-setting the current
             pause state has no effect.

             If @.playing is set to $true, this property can be used to pause and resume
             playback of the media without changing its @.playback_progress property. This property
             cannot be changed if @.playing is $false.
           ]]
           set {
              return: bool(false); [[If $true, the property change has succeeded.]]
           }
           get {
           }
           values {
                paused: bool; [[$true if paused, $false otherwise.]]
           }
        }
        @property playback_position {
           [[Position in the media file.

             This property sets the current position of the media file
             to $sec seconds since the beginning of the media file.
             This only works on seekable streams. Setting the
             position doesn't change the @.playing or @.paused states of the media file.
           ]]
           set {
           }
           get {
           }
           values {
                sec: double; [[The position (in seconds).]]
           }
        }
        @property playback_progress {
           [[How much of the file has been played.

             This function gets the progress in playing the file, the
             return value is in the [0, 1] range.
           ]]
           get {
           }
           values {
                progress: double; [[The progress within the [0, 1] range.]]
           }
        }
        @property playback_speed {
             [[Control the playback speed of the media file.

               This function control the speed with which the media file will
               be played. 1.0 represents the normal speed, 2 double speed, 0.5
               half speed and so on.
             ]]
             set {
             }
             get {
             }
             values {
                  speed: double; [[The play speed in the [0, infinity) range.]]
             }
        }
   }
}