From 19068769699fa1caeb33e44b32ebf330de054edd Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Sun, 17 Oct 2021 17:56:57 +0200 Subject: [PATCH] FIX: Replaced VLC event.u occurrences Newer versions of python-vlc have apparently removed the `event.u` union object from the events dispatched by the player, resulting in player callback failures. The occurrences of `event.u` have therefore been replaced with the player methods to correctly retrieve the current state. --- platypush/plugins/media/vlc/__init__.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/platypush/plugins/media/vlc/__init__.py b/platypush/plugins/media/vlc/__init__.py index 13253475e..7428a02ec 100644 --- a/platypush/plugins/media/vlc/__init__.py +++ b/platypush/plugins/media/vlc/__init__.py @@ -130,18 +130,17 @@ class MediaVlcPlugin(MediaPlugin): self._post_event(MediaStopEvent) for cbk in self._on_stop_callbacks: cbk() - elif event.type == EventType.MediaPlayerTitleChanged: - self._filename = event.u.filename - self._title = event.u.new_title - self._post_event(NewPlayingMediaEvent, resource=event.u.new_title) - elif event.type == EventType.MediaPlayerMediaChanged: - self._filename = event.u.filename - self._title = event.u.new_title - self._post_event(NewPlayingMediaEvent, resource=event.u.filename) + elif ( + event.type == EventType.MediaPlayerTitleChanged or + event.type == EventType.MediaPlayerMediaChanged + ): + self._title = self._player.get_title() or self._filename + if event.type == EventType.MediaPlayerMediaChanged: + self._post_event(NewPlayingMediaEvent, resource=self._title) elif event.type == EventType.MediaPlayerLengthChanged: self._post_event(NewPlayingMediaEvent, resource=self._get_current_resource()) elif event.type == EventType.MediaPlayerTimeChanged: - pos = float(event.u.new_time/1000) + pos = float(self._player.get_time()/1000) if self._latest_seek is None or \ abs(pos-self._latest_seek) > 5: self._post_event(MediaSeekEvent, position=pos) @@ -184,6 +183,7 @@ class MediaVlcPlugin(MediaPlugin): if resource.startswith('file://'): resource = resource[len('file://'):] + self._filename = resource self._init_vlc(resource) if subtitles: if subtitles.startswith('file://'):