BROKEN: Moved everything
[gc-dialer] / src / stream_osso.py
diff --git a/src/stream_osso.py b/src/stream_osso.py
deleted file mode 100644 (file)
index abc453f..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-import logging
-
-import gobject
-import dbus
-
-import util.misc as misc_utils
-
-
-_moduleLogger = logging.getLogger(__name__)
-
-
-class Stream(gobject.GObject):
-
-       STATE_PLAY = "play"
-       STATE_PAUSE = "pause"
-       STATE_STOP = "stop"
-
-       __gsignals__ = {
-               'state-change' : (
-                       gobject.SIGNAL_RUN_LAST,
-                       gobject.TYPE_NONE,
-                       (gobject.TYPE_STRING, ),
-               ),
-               'eof' : (
-                       gobject.SIGNAL_RUN_LAST,
-                       gobject.TYPE_NONE,
-                       (gobject.TYPE_STRING, ),
-               ),
-               'error' : (
-                       gobject.SIGNAL_RUN_LAST,
-                       gobject.TYPE_NONE,
-                       (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT),
-               ),
-       }
-
-       _SERVICE_NAME = "com.nokia.osso_media_server"
-       _OBJECT_PATH = "/com/nokia/osso_media_server"
-       _AUDIO_INTERFACE_NAME = "com.nokia.osso_media_server.music"
-
-       def __init__(self):
-               gobject.GObject.__init__(self)
-               #Fields
-               self._state = self.STATE_STOP
-               self._nextState = self.STATE_STOP
-               self._uri = ""
-               self._elapsed = 0
-               self._duration = 0
-
-               session_bus = dbus.SessionBus()
-
-               # Get the osso-media-player proxy object
-               oms_object = session_bus.get_object(
-                       self._SERVICE_NAME,
-                       self._OBJECT_PATH,
-                       introspect=False,
-                       follow_name_owner_changes=True,
-               )
-               # Use the audio interface
-               oms_audio_interface = dbus.Interface(
-                       oms_object,
-                       self._AUDIO_INTERFACE_NAME,
-               )
-               self._audioProxy = oms_audio_interface
-
-               self._audioProxy.connect_to_signal("state_changed", self._on_state_changed)
-               self._audioProxy.connect_to_signal("end_of_stream", self._on_end_of_stream)
-
-               error_signals = [
-                       "no_media_selected",
-                       "file_not_found",
-                       "type_not_found",
-                       "unsupported_type",
-                       "gstreamer",
-                       "dsp",
-                       "device_unavailable",
-                       "corrupted_file",
-                       "out_of_memory",
-                       "audio_codec_not_supported",
-               ]
-               for error in error_signals:
-                       self._audioProxy.connect_to_signal(error, self._on_error)
-
-       @property
-       def playing(self):
-               return self.state == self.STATE_PLAY
-
-       @property
-       def has_file(self):
-               return 0 < len(self._uri)
-
-       @property
-       def state(self):
-               return self._state
-
-       def set_file(self, uri):
-               if self._uri != uri:
-                       self._invalidate_cache()
-               if self.state != self.STATE_STOP:
-                       self.stop()
-
-               self._uri = uri
-               self._audioProxy.set_media_location(self._uri)
-
-       def play(self):
-               if self._nextState == self.STATE_PLAY:
-                       _moduleLogger.info("Already play")
-                       return
-               _moduleLogger.info("Play")
-               self._audioProxy.play()
-               self._nextState = self.STATE_PLAY
-               #self.emit("state-change", self.STATE_PLAY)
-
-       def pause(self):
-               if self._nextState == self.STATE_PAUSE:
-                       _moduleLogger.info("Already pause")
-                       return
-               _moduleLogger.info("Pause")
-               self._audioProxy.pause()
-               self._nextState = self.STATE_PAUSE
-               #self.emit("state-change", self.STATE_PLAY)
-
-       def stop(self):
-               if self._nextState == self.STATE_STOP:
-                       _moduleLogger.info("Already stop")
-                       return
-               self._audioProxy.stop()
-               _moduleLogger.info("Stopped")
-               self._nextState = self.STATE_STOP
-               #self.emit("state-change", self.STATE_STOP)
-
-       @property
-       def elapsed(self):
-               pos_info = self._audioProxy.get_position()
-               if isinstance(pos_info, tuple):
-                       self._elapsed, self._duration = pos_info
-               return self._elapsed
-
-       @property
-       def duration(self):
-               pos_info = self._audioProxy.get_position()
-               if isinstance(pos_info, tuple):
-                       self._elapsed, self._duration = pos_info
-               return self._duration
-
-       def seek_time(self, ns):
-               _moduleLogger.debug("Seeking to: %s", ns)
-               self._audioProxy.seek( dbus.Int32(1), dbus.Int32(ns) )
-
-       def _invalidate_cache(self):
-               self._elapsed = 0
-               self._duration = 0
-
-       @misc_utils.log_exception(_moduleLogger)
-       def _on_error(self, *args):
-               err, debug = "", repr(args)
-               _moduleLogger.error("Error: %s, (%s)" % (err, debug))
-               self.emit("error", err, debug)
-
-       @misc_utils.log_exception(_moduleLogger)
-       def _on_end_of_stream(self, *args):
-               self._state = self.STATE_STOP
-               self._nextState = self.STATE_STOP
-               self.emit("eof", self._uri)
-
-       @misc_utils.log_exception(_moduleLogger)
-       def _on_state_changed(self, state):
-               _moduleLogger.info("State: %s", state)
-               state = {
-                       "playing": self.STATE_PLAY,
-                       "paused": self.STATE_PAUSE,
-                       "stopped": self.STATE_STOP,
-               }[state]
-               if self._state == self.STATE_STOP and self._nextState == self.STATE_PLAY and state == self.STATE_STOP:
-                       # They seem to want to advertise stop right as the stream is starting, breaking the owner of this
-                       return
-               self._state = state
-               self._nextState = state
-               self.emit("state-change", state)
-
-
-gobject.type_register(Stream)