From 61686b53ca065807e46e2706b43da42d4ec52211 Mon Sep 17 00:00:00 2001 From: "P.M. Kuipers" Date: Tue, 4 May 2021 18:14:29 +0200 Subject: [PATCH] Minor bugfixes --- mediaserver/basicplayer.py | 12 +++++++----- mediaserver/mediaserver.py | 29 +++++++++++++++-------------- mediaserver/monitoredplayer.py | 8 ++++---- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/mediaserver/basicplayer.py b/mediaserver/basicplayer.py index a549284..88ab5ba 100755 --- a/mediaserver/basicplayer.py +++ b/mediaserver/basicplayer.py @@ -69,7 +69,7 @@ class BasicPlayer(GObject.GObject): def do_set_property(self, property, value): if property.name == 'volume': - volume = clamp(value,0.0,1.0) + volume = value if value >= 0.0 and value <= 1.0 else (0.0 if value < 0 else 1.0) self.pipeline.set_property('volume', volume) #print("Set volume to {0}, got {1}".format(volume,self.pipeline.get_property('volume'))) self.emit('volume-changed',volume) @@ -158,8 +158,8 @@ class BasicPlayer(GObject.GObject): self.pipeline.get_bus().disconnect(self.busconnection) self.pipeline.get_bus().remove_signal_watch() self.pipeline.set_state(Gst.State.NULL) - except GObject.GError as e: - self.set_sensitive(True) + except GObject.GError: + pass def seek(self,seconds): self.pipeline.seek_simple(Gst.Format.TIME, Gst.SeekFlags.FLUSH | Gst.SeekFlags.KEY_UNIT, seconds* Gst.SECOND) @@ -204,7 +204,8 @@ class BasicPlayer(GObject.GObject): pass elif t == Gst.MessageType.STREAM_STATUS: (status,owner) = message.parse_stream_status() -# print("Stream status: {0} (by {1})\n".format(status,owner)) + if False: + print("Stream status: {0} (by {1})\n".format(status,owner)) pass elif t == Gst.MessageType.BUFFERING: pct = message.parse_buffering() @@ -225,7 +226,8 @@ class BasicPlayer(GObject.GObject): if message.src == self.pipeline: (old,new,pending) = message.parse_state_changed() self.pipeline_state = new -# print("State changed from '{0}' to '{1}' pending '{2}'\n".format(old,new,pending)) + if False: + print("State changed from '{0}' to '{1}' pending '{2}'\n".format(old,new,pending)) if old == Gst.State.READY and new == Gst.State.PAUSED and self.player_state == "LOADING": self.pipeline.set_state(Gst.State.PAUSED) self.player_state = "READY" diff --git a/mediaserver/mediaserver.py b/mediaserver/mediaserver.py index 9d07596..6ee950d 100755 --- a/mediaserver/mediaserver.py +++ b/mediaserver/mediaserver.py @@ -69,6 +69,7 @@ class MediaService(dbus.service.Object): self.quickplayduration = 0 self.quickplayloop = False + def Start(self): self.window.show() self.tick() @@ -167,35 +168,35 @@ class MediaService(dbus.service.Object): # self.quickplayer.playfor(file,duration) @dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='s', out_signature='') - def QuickPlayUrl(self, url,): + def QuickPlayUrl(self, url): """ Directly play back a url """ if self.loadcount < self.loadmax: - print("Quickplaying file {0}".format(file)) + print("Quickplaying url {0}".format(url)) self.quickplay = True self.quickplayduration = 0 self.quickplayloop = False - self.player.load_uri(file) + self.player.load_uri(url) self.loadcount += 1 else: - print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(file,self.loadmax)) + print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(url,self.loadmax)) @dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='sd', out_signature='') def QuickPlayUrlFor(self, url, duration): """ Directly play back a url """ if self.loadcount < self.loadmax: - print("Quickplaying file {0} for {1} seconds".format(file,duration)) + print("Quickplaying url {0} for {1} seconds".format(url,duration)) self.quickplay = True self.quickplayduration = duration self.quickplayloop = False - self.player.load_uri(file) + self.player.load_uri(url) self.loadcount += 1 else: - print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(file,self.loadmax)) + print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(url,self.loadmax)) @dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='s', out_signature='') - def QuickLoop(self, file,): + def QuickLoop(self, file): """ Directly play back a url """ if self.loadcount < self.loadmax: @@ -209,18 +210,18 @@ class MediaService(dbus.service.Object): print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(file,self.loadmax)) @dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='s', out_signature='') - def QuickLoopUrl(self, url,): + def QuickLoopUrl(self, url): """ Directly play back a url """ if self.loadcount < self.loadmax: - print("Quickplaying url {0}".format(uri)) + print("Quickplaying url {0}".format(url)) self.quickplay = True self.quickplayduration = 0 self.quickplayloop = True self.player.load_uri(url) self.loadcount += 1 else: - print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(file,self.loadmax)) + print("Skipping load of file {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(url,self.loadmax)) @@ -246,7 +247,7 @@ class MediaService(dbus.service.Object): print("Loading url {0}".format(uri)) self.quickplay = False self.player.load_uri(uri) - self.loadcount += 1; + self.loadcount += 1 self.OnLoading(uri) else: print("Skipping load of url {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(uri,self.loadmax)) @@ -444,9 +445,9 @@ def Run(): os.environ['XDG_RUNTIME_DIR'] = "/run/user/{0}".format(os.getuid()) mediaservice = MediaService() + mediaservice.Start() loop = GObject.MainLoop() - loopcontext = loop.get_context() - + def onsigint(signal,frame): print("Quitting") diff --git a/mediaserver/monitoredplayer.py b/mediaserver/monitoredplayer.py index bcf648b..2643844 100755 --- a/mediaserver/monitoredplayer.py +++ b/mediaserver/monitoredplayer.py @@ -2,7 +2,7 @@ import gi gi.require_version('Gst','1.0') -from gi.repository import GObject +from gi.repository import GObject, Gst from threading import Thread import time @@ -65,7 +65,7 @@ class MonitoredPlayer(BasicPlayer): self.looping = True if self.player_state != "PAUSED": self.startpos = 0 - self.playtime = -1; + self.playtime = -1 BasicPlayer.play(self) @@ -73,11 +73,11 @@ class MonitoredPlayer(BasicPlayer): self.looping = False if self.player_state != "PAUSED": self.startpos = 0 - self.playtime = -1; + self.playtime = -1 BasicPlayer.play(self) def stop(self): - self.playtime = -1; + self.playtime = -1 BasicPlayer.stop(self) #self.monitor.stop()