Add minimal play and stop support for gstreamer
This commit is contained in:
parent
8ec68754c9
commit
42af60d238
@ -1,5 +1,7 @@
|
||||
import logging
|
||||
|
||||
import gst
|
||||
|
||||
from mopidy import config
|
||||
from mopidy.backends import BaseBackend
|
||||
from mopidy.models import Artist, Album, Track, Playlist
|
||||
@ -7,4 +9,30 @@ from mopidy.models import Artist, Album, Track, Playlist
|
||||
logger = logging.getLogger(u'backends.gstreamer')
|
||||
|
||||
class GStreamerBackend(BaseBackend):
|
||||
pass
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(GStreamerBackend, self).__init__(*args, **kwargs)
|
||||
|
||||
playlist = []
|
||||
player = gst.element_factory_make("playbin2", "player")
|
||||
fakesink = gst.element_factory_make("fakesink", "fakesink")
|
||||
|
||||
player.set_property("video-sink", fakesink)
|
||||
|
||||
self.player = player
|
||||
|
||||
|
||||
def _play_current_track(self):
|
||||
self.player.set_property("uri", self._current_track.uri)
|
||||
self.player.set_state(gst.STATE_PLAYING)
|
||||
|
||||
def _play(self):
|
||||
if self._current_track is not None:
|
||||
self._play_current_track()
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def _stop(self):
|
||||
self.player.set_state(gst.STATE_NULL)
|
||||
|
||||
return True
|
||||
|
||||
Loading…
Reference in New Issue
Block a user