From 9cc3a25c73bfce119cafadeff8caa5b45b799981 Mon Sep 17 00:00:00 2001 From: Frechdachs Date: Fri, 6 Jan 2017 13:52:50 +0100 Subject: Make sure _mpv_initialize is called before _mpv_terminate_destroy --- mpv.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mpv.py b/mpv.py index acf7913..c8ea147 100644 --- a/mpv.py +++ b/mpv.py @@ -413,10 +413,14 @@ class MPV(object): _mpv_set_option_string(self.handle, b'audio-display', b'no') istr = lambda o: ('yes' if o else 'no') if type(o) is bool else str(o) - for flag in extra_mpv_flags: - _mpv_set_option_string(self.handle, flag.encode('utf-8'), b'') - for k,v in extra_mpv_opts.items(): - _mpv_set_option_string(self.handle, k.replace('_', '-').encode('utf-8'), istr(v).encode('utf-8')) + try: + for flag in extra_mpv_flags: + _mpv_set_option_string(self.handle, flag.encode('utf-8'), b'') + for k,v in extra_mpv_opts.items(): + _mpv_set_option_string(self.handle, k.replace('_', '-').encode('utf-8'), istr(v).encode('utf-8')) + except AttributeError as e: + _mpv_initialize(self.handle) + raise e _mpv_initialize(self.handle) self._event_callbacks = [] -- cgit