gst1: Keep the pending URI for the stream_changed event
This commit is contained in:
parent
efbfb39e86
commit
45dae06347
@ -261,7 +261,7 @@ class _Handler(object):
|
|||||||
if GstPbutils.is_missing_plugin_message(msg):
|
if GstPbutils.is_missing_plugin_message(msg):
|
||||||
self.on_missing_plugin(msg)
|
self.on_missing_plugin(msg)
|
||||||
elif msg.type == Gst.MessageType.STREAM_START:
|
elif msg.type == Gst.MessageType.STREAM_START:
|
||||||
self.on_stream_changed(self._audio._playbin.get_property('uri'))
|
self.on_stream_start()
|
||||||
|
|
||||||
def on_pad_event(self, pad, pad_probe_info):
|
def on_pad_event(self, pad, pad_probe_info):
|
||||||
event = pad_probe_info.get_event()
|
event = pad_probe_info.get_event()
|
||||||
@ -374,8 +374,9 @@ class _Handler(object):
|
|||||||
# can provide a 'mopidy install-missing-plugins' if the system has the
|
# can provide a 'mopidy install-missing-plugins' if the system has the
|
||||||
# required helper installed?
|
# required helper installed?
|
||||||
|
|
||||||
def on_stream_changed(self, uri):
|
def on_stream_start(self):
|
||||||
gst_logger.debug('Got STREAM_CHANGED bus message: uri=%r', uri)
|
gst_logger.debug('Got STREAM_START bus message')
|
||||||
|
uri = self._audio._pending_uri
|
||||||
logger.debug('Audio event: stream_changed(uri=%r)', uri)
|
logger.debug('Audio event: stream_changed(uri=%r)', uri)
|
||||||
AudioListener.send('stream_changed', uri=uri)
|
AudioListener.send('stream_changed', uri=uri)
|
||||||
|
|
||||||
@ -415,6 +416,7 @@ class Audio(pykka.ThreadingActor):
|
|||||||
self._target_state = Gst.State.NULL
|
self._target_state = Gst.State.NULL
|
||||||
self._buffering = False
|
self._buffering = False
|
||||||
self._tags = {}
|
self._tags = {}
|
||||||
|
self._pending_uri = None
|
||||||
|
|
||||||
self._playbin = None
|
self._playbin = None
|
||||||
self._outputs = None
|
self._outputs = None
|
||||||
@ -561,6 +563,7 @@ class Audio(pykka.ThreadingActor):
|
|||||||
current_volume = None
|
current_volume = None
|
||||||
|
|
||||||
self._tags = {} # TODO: add test for this somehow
|
self._tags = {} # TODO: add test for this somehow
|
||||||
|
self._pending_uri = uri
|
||||||
self._playbin.set_property('uri', uri)
|
self._playbin.set_property('uri', uri)
|
||||||
|
|
||||||
if self.mixer is not None and current_volume is not None:
|
if self.mixer is not None and current_volume is not None:
|
||||||
@ -586,7 +589,9 @@ class Audio(pykka.ThreadingActor):
|
|||||||
"""
|
"""
|
||||||
self._appsrc.prepare(
|
self._appsrc.prepare(
|
||||||
Gst.Caps.from_string(caps), need_data, enough_data, seek_data)
|
Gst.Caps.from_string(caps), need_data, enough_data, seek_data)
|
||||||
self._playbin.set_property('uri', 'appsrc://')
|
uri = 'appsrc://'
|
||||||
|
self._pending_uri = uri
|
||||||
|
self._playbin.set_property('uri', uri)
|
||||||
|
|
||||||
def emit_data(self, buffer_):
|
def emit_data(self, buffer_):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user