Minor bugfixes
This commit is contained in:
parent
8cfa5c712e
commit
61686b53ca
|
@ -69,7 +69,7 @@ class BasicPlayer(GObject.GObject):
|
||||||
|
|
||||||
def do_set_property(self, property, value):
|
def do_set_property(self, property, value):
|
||||||
if property.name == 'volume':
|
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)
|
self.pipeline.set_property('volume', volume)
|
||||||
#print("Set volume to {0}, got {1}".format(volume,self.pipeline.get_property('volume')))
|
#print("Set volume to {0}, got {1}".format(volume,self.pipeline.get_property('volume')))
|
||||||
self.emit('volume-changed',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().disconnect(self.busconnection)
|
||||||
self.pipeline.get_bus().remove_signal_watch()
|
self.pipeline.get_bus().remove_signal_watch()
|
||||||
self.pipeline.set_state(Gst.State.NULL)
|
self.pipeline.set_state(Gst.State.NULL)
|
||||||
except GObject.GError as e:
|
except GObject.GError:
|
||||||
self.set_sensitive(True)
|
pass
|
||||||
|
|
||||||
def seek(self,seconds):
|
def seek(self,seconds):
|
||||||
self.pipeline.seek_simple(Gst.Format.TIME, Gst.SeekFlags.FLUSH | Gst.SeekFlags.KEY_UNIT, seconds* Gst.SECOND)
|
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
|
pass
|
||||||
elif t == Gst.MessageType.STREAM_STATUS:
|
elif t == Gst.MessageType.STREAM_STATUS:
|
||||||
(status,owner) = message.parse_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
|
pass
|
||||||
elif t == Gst.MessageType.BUFFERING:
|
elif t == Gst.MessageType.BUFFERING:
|
||||||
pct = message.parse_buffering()
|
pct = message.parse_buffering()
|
||||||
|
@ -225,7 +226,8 @@ class BasicPlayer(GObject.GObject):
|
||||||
if message.src == self.pipeline:
|
if message.src == self.pipeline:
|
||||||
(old,new,pending) = message.parse_state_changed()
|
(old,new,pending) = message.parse_state_changed()
|
||||||
self.pipeline_state = new
|
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":
|
if old == Gst.State.READY and new == Gst.State.PAUSED and self.player_state == "LOADING":
|
||||||
self.pipeline.set_state(Gst.State.PAUSED)
|
self.pipeline.set_state(Gst.State.PAUSED)
|
||||||
self.player_state = "READY"
|
self.player_state = "READY"
|
||||||
|
|
|
@ -69,6 +69,7 @@ class MediaService(dbus.service.Object):
|
||||||
self.quickplayduration = 0
|
self.quickplayduration = 0
|
||||||
self.quickplayloop = False
|
self.quickplayloop = False
|
||||||
|
|
||||||
|
def Start(self):
|
||||||
self.window.show()
|
self.window.show()
|
||||||
self.tick()
|
self.tick()
|
||||||
|
|
||||||
|
@ -167,35 +168,35 @@ class MediaService(dbus.service.Object):
|
||||||
# self.quickplayer.playfor(file,duration)
|
# self.quickplayer.playfor(file,duration)
|
||||||
|
|
||||||
@dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='s', out_signature='')
|
@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
|
""" Directly play back a url
|
||||||
"""
|
"""
|
||||||
if self.loadcount < self.loadmax:
|
if self.loadcount < self.loadmax:
|
||||||
print("Quickplaying file {0}".format(file))
|
print("Quickplaying url {0}".format(url))
|
||||||
self.quickplay = True
|
self.quickplay = True
|
||||||
self.quickplayduration = 0
|
self.quickplayduration = 0
|
||||||
self.quickplayloop = False
|
self.quickplayloop = False
|
||||||
self.player.load_uri(file)
|
self.player.load_uri(url)
|
||||||
self.loadcount += 1
|
self.loadcount += 1
|
||||||
else:
|
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='')
|
@dbus.service.method(dbus_interface='nl.miqra.MediaCore.Media', in_signature='sd', out_signature='')
|
||||||
def QuickPlayUrlFor(self, url, duration):
|
def QuickPlayUrlFor(self, url, duration):
|
||||||
""" Directly play back a url
|
""" Directly play back a url
|
||||||
"""
|
"""
|
||||||
if self.loadcount < self.loadmax:
|
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.quickplay = True
|
||||||
self.quickplayduration = duration
|
self.quickplayduration = duration
|
||||||
self.quickplayloop = False
|
self.quickplayloop = False
|
||||||
self.player.load_uri(file)
|
self.player.load_uri(url)
|
||||||
self.loadcount += 1
|
self.loadcount += 1
|
||||||
else:
|
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='')
|
@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
|
""" Directly play back a url
|
||||||
"""
|
"""
|
||||||
if self.loadcount < self.loadmax:
|
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))
|
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='')
|
@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
|
""" Directly play back a url
|
||||||
"""
|
"""
|
||||||
if self.loadcount < self.loadmax:
|
if self.loadcount < self.loadmax:
|
||||||
print("Quickplaying url {0}".format(uri))
|
print("Quickplaying url {0}".format(url))
|
||||||
self.quickplay = True
|
self.quickplay = True
|
||||||
self.quickplayduration = 0
|
self.quickplayduration = 0
|
||||||
self.quickplayloop = True
|
self.quickplayloop = True
|
||||||
self.player.load_uri(url)
|
self.player.load_uri(url)
|
||||||
self.loadcount += 1
|
self.loadcount += 1
|
||||||
else:
|
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))
|
print("Loading url {0}".format(uri))
|
||||||
self.quickplay = False
|
self.quickplay = False
|
||||||
self.player.load_uri(uri)
|
self.player.load_uri(uri)
|
||||||
self.loadcount += 1;
|
self.loadcount += 1
|
||||||
self.OnLoading(uri)
|
self.OnLoading(uri)
|
||||||
else:
|
else:
|
||||||
print("Skipping load of url {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(uri,self.loadmax))
|
print("Skipping load of url {0} because maximum simultaneous loads ({1}) was reached. Wait until ready....".format(uri,self.loadmax))
|
||||||
|
@ -444,8 +445,8 @@ def Run():
|
||||||
os.environ['XDG_RUNTIME_DIR'] = "/run/user/{0}".format(os.getuid())
|
os.environ['XDG_RUNTIME_DIR'] = "/run/user/{0}".format(os.getuid())
|
||||||
|
|
||||||
mediaservice = MediaService()
|
mediaservice = MediaService()
|
||||||
|
mediaservice.Start()
|
||||||
loop = GObject.MainLoop()
|
loop = GObject.MainLoop()
|
||||||
loopcontext = loop.get_context()
|
|
||||||
|
|
||||||
|
|
||||||
def onsigint(signal,frame):
|
def onsigint(signal,frame):
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import gi
|
import gi
|
||||||
gi.require_version('Gst','1.0')
|
gi.require_version('Gst','1.0')
|
||||||
|
|
||||||
from gi.repository import GObject
|
from gi.repository import GObject, Gst
|
||||||
|
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
import time
|
import time
|
||||||
|
@ -65,7 +65,7 @@ class MonitoredPlayer(BasicPlayer):
|
||||||
self.looping = True
|
self.looping = True
|
||||||
if self.player_state != "PAUSED":
|
if self.player_state != "PAUSED":
|
||||||
self.startpos = 0
|
self.startpos = 0
|
||||||
self.playtime = -1;
|
self.playtime = -1
|
||||||
BasicPlayer.play(self)
|
BasicPlayer.play(self)
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,11 +73,11 @@ class MonitoredPlayer(BasicPlayer):
|
||||||
self.looping = False
|
self.looping = False
|
||||||
if self.player_state != "PAUSED":
|
if self.player_state != "PAUSED":
|
||||||
self.startpos = 0
|
self.startpos = 0
|
||||||
self.playtime = -1;
|
self.playtime = -1
|
||||||
BasicPlayer.play(self)
|
BasicPlayer.play(self)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
self.playtime = -1;
|
self.playtime = -1
|
||||||
BasicPlayer.stop(self)
|
BasicPlayer.stop(self)
|
||||||
#self.monitor.stop()
|
#self.monitor.stop()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user