diff options
author | jaseg <code@jaseg.net> | 2020-07-16 19:28:33 +0200 |
---|---|---|
committer | jaseg <code@jaseg.net> | 2020-07-16 19:28:33 +0200 |
commit | 759b9701c379997cc37d1c128a83302863e7df4f (patch) | |
tree | c53653e4ca1e36c54ac62607cce19dfc429ec733 | |
parent | 7362f663c16f81d051757c2f79b764b0eb8d2a90 (diff) | |
download | python-mpv-759b9701c379997cc37d1c128a83302863e7df4f.tar.gz python-mpv-759b9701c379997cc37d1c128a83302863e7df4f.tar.bz2 python-mpv-759b9701c379997cc37d1c128a83302863e7df4f.zip |
mpv.py: add wait_until_paused, wait_until_playing
-rwxr-xr-x | mpv-test.py | 8 | ||||
-rw-r--r-- | mpv.py | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/mpv-test.py b/mpv-test.py index 8bcf0d3..ecc4d18 100755 --- a/mpv-test.py +++ b/mpv-test.py @@ -379,7 +379,7 @@ class KeyBindingTest(MpvTestCase): def test_register_simple_decorator_fun_chaining(self): self.m.loop = 'inf' self.m.play(TESTVID) - self.m.wait_for_property('core-idle', lambda idle: not idle) + self.m.wait_until_playing() handler1, handler2 = mock.Mock(), mock.Mock() @@ -397,7 +397,7 @@ class KeyBindingTest(MpvTestCase): def keypress_and_sync(key): self.m.keypress(key) self.m.frame_step() - self.m.wait_for_property('pause', lambda paused: paused) + self.m.wait_until_playing() keypress_and_sync('a') handler1.assert_has_calls([ mock.call() ]) @@ -569,7 +569,7 @@ class TestLifecycle(unittest.TestCase): m = mpv.MPV(log_handler=handler) m.play(TESTVID) # Wait for playback to start - m.wait_for_property('core-idle', lambda x: not x) + m.wait_until_playing() m.command("print-text", 'This is a python-mpv test') m.wait_for_playback() m.terminate() @@ -599,7 +599,7 @@ class CommandTests(MpvTestCase): self.m.property_observer('sub-text')(handler) self.m.loadfile(TESTVID) - self.m.wait_for_property('core-idle', lambda x: not x) + self.m.wait_until_playing() self.m.sub_add('sub_test.srt') self.m.wait_for_playback() @@ -886,6 +886,14 @@ class MPV(object): with self._playback_cond: self._playback_cond.wait() + def wait_until_paused(self): + """Waits until playback of the current title is paused or done.""" + self.wait_for_property('core-idle') + + def wait_until_playing(self): + """Waits until playback of the current title has started.""" + self.wait_for_property('core-idle', lambda idle: not idle) + def wait_for_property(self, name, cond=lambda val: val, level_sensitive=True): """Waits until ``cond`` evaluates to a truthy value on the named property. This can be used to wait for properties such as ``idle_active`` indicating the player is done with regular playback and just idling around |