From e85342a147d616647d08a88df2a2186a27610490 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 19 Jul 2020 22:33:56 +0200 Subject: mpv.py: add wait_for_shutdown --- mpv.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mpv.py b/mpv.py index f0cd22a..65719d7 100644 --- a/mpv.py +++ b/mpv.py @@ -924,6 +924,17 @@ class MPV(object): with self.prepare_and_wait_for_property(name, cond, level_sensitive): pass + def wait_for_shutdown(self): + '''Wait for core to shutdown (e.g. through quit() or terminate()).''' + sema = threading.Semaphore(value=0) + + @self.event_callback('shutdown') + def shutdown_handler(event): + sema.release() + + sema.acquire() + shutdown_handler.unregister_mpv_events() + @contextmanager def prepare_and_wait_for_property(self, name, cond=lambda val: val, level_sensitive=True): """Context manager that waits until ``cond`` evaluates to a truthy value on the named property. See -- cgit