Add docstrings

This commit is contained in:
Thomas Adamcik 2011-05-17 16:10:28 +02:00
parent 801b3d1155
commit eb5facd4b6
2 changed files with 35 additions and 0 deletions

View File

@ -283,6 +283,12 @@ class GStreamer(ThreadingActor):
return [output.get_name() for output in self._outputs]
def remove_output(self, output):
"""
Remove output from our pipeline.
:param output: output to remove from our pipeline.
:type output: :class:`gst.Bin`
"""
if output not in self._outputs:
return # FIXME raise mopidy exception of some sort?
teesrc = output.get_pad('sink').get_peer()
@ -319,7 +325,34 @@ class GStreamer(ThreadingActor):
return data
def connect_message_handler(self, element, handler):
"""
Attach custom message handler for given element.
Hook to allow outputs (or other code) to register custom message
handlers for all message comming from the element in question.
In the case of outputs ``on_connect`` should be used to attach such
handlers and care should be taken to remove them in ``on_remove``.
The handler callback will only be given the message in question, and
is free to ignore the message. However, if the handler wants to prevent
the default handling of the message it should return ``True`` indicating
that the message has been handeled.
(Note that there can only be on handler per element)
:param element: element to watch messages from.
:type element: :class:`gst.Element`
:param handler: function that expects `gst.Message`, should return
``True`` if message has been handeled.
"""
self._handlers[element] = handler
def remove_message_handler(self, element):
"""
Remove custom message handler.
:param element: element to remove message handling from.
:type element: :class:`gst.Element`
"""
self._handlers.pop(element, None)

View File

@ -35,6 +35,7 @@ class BaseOutput(object):
self.on_connect()
def on_connect(self):
"""Called after output has been connected to GStreamer pipeline"""
pass
def remove(self):
@ -43,6 +44,7 @@ class BaseOutput(object):
self.on_remove()
def on_remove(self):
"""Called after output has been remove from GStreamer pipeline"""
pass
def get_name(self):