1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 from twisted.trial import unittest
17 from elisa.core.tests.elisa_test_case import ElisaTestCase, BoilerPlateApp
18 from elisa.core import common, player_engine_registry, player, media_uri
19 from elisa.base_components import player_engine
20
21 from elisa.core.player import STATES
22
23 from test_player_engine import FooEngine, StupidPipe
24
25 import gst
26
41
45
47
58
60 player = self._player
61 player.uri = media_uri.MediaUri('foo://host/path/file')
62 engine = self._registry.engine
63 self.assertFalse(engine == None)
64
65 engine.state = STATES.STOPPED
66 player.play()
67 self.assertEquals(engine.state, STATES.LOADING)
68 self.assertEquals(engine.pipeline.state, gst.STATE_PLAYING)
69
70 engine.state = STATES.PLAYING
71 player.pause()
72 self.assertEquals(engine.pipeline.state, gst.STATE_PAUSED)
73
74 engine.state = STATES.PLAYING
75 player.toggle_play_pause()
76 self.assertEquals(engine.pipeline.state, gst.STATE_PAUSED)
77
78 engine.state = STATES.PAUSED
79 player.toggle_play_pause()
80 self.assertEquals(engine.pipeline.state, gst.STATE_PLAYING)
81
82 engine.state = STATES.PAUSED
83 player.play()
84 self.assertEquals(engine.state, STATES.PLAYING)
85 self.assertEquals(engine.pipeline.state, gst.STATE_PLAYING)
86
87 engine.state = STATES.PLAYING
88 player.stop()
89 self.assertEquals(engine.pipeline.state, gst.STATE_READY)
90
91 engine.state = STATES.PLAYING
92 player.restart_from_beginning()
93 self.assertEquals(engine.pipeline.state, gst.STATE_PLAYING)
94
95 player.volume = 5
96 self.assertEquals(engine.volume, 5)
97
98 player.muted = True
99 self.assertEquals(engine.volume, 0)
100 self.assertTrue(player.muted)
101 self.assertEquals(player.volume, 5)
102
103 player.muted = False
104 self.assertEquals(engine.volume, 5)
105 self.assertEquals(player.volume, 5)
106 self.assertEquals(player.muted, False)
107
108 self.assertEquals(player.position, -1)
109 self.assertEquals(player.duration, -1)
110
111 player.video_sink = True
112 self.assertTrue(engine.video_sink)
113 self.assertTrue(player.video_sink)
114
115 player.audio_sink = True
116 self.assertTrue(engine.audio_sink)
117 self.assertTrue(player.audio_sink)
118
119 player.uri = media_uri.MediaUri('foo://host/path/file')
120 self.assertEquals(engine, self._registry.engine)
121
122 player.uri = media_uri.MediaUri('bar://host/path/file')
123 self.assertFalse(engine == self._registry.engine)
124
125 engine = self._registry.engine
126
127 player.uri = media_uri.MediaUri('non://host/path/file')
128 self.assertFalse(engine == self._registry.engine)
129
130 player.uri = media_uri.MediaUri('non://host/path/wrong')
131 self.assertEquals(self._registry.engine, None)
132