def _start_loop(): loop = gobject.MainLoop() try: logger.debug('starting main loop') loop.run() except KeyboardInterrupt: logger.debug('exiting') loop.quit()
def read(self): if not self._fd: return None try: data = os.read(self._fd, 4096) position = self.HEADER_SIZE if data[position] != self.FRAME_MARKER: logger.debug('marker not found') return None return data[position:] except OSError: return None
def on_property_changed(self, name, value): if name != 'State': logger.debug('unknown property "%s" changed on audio source', name) return logger.debug('audio source state changed to "%s"', value) if value in ('connected', 'disconnected'): if self._state == 'playing': Endpoint.release_file_descriptor() reader.set_file_descriptor(None) if value == 'playing': fd = Endpoint.get_file_descriptor() reader.set_file_descriptor(fd) self._state = value
def get_file_descriptor(cls): endpoint = cls.get() logger.debug('acquiring endpoint transport') fd, _, _ = endpoint._transport.Acquire('r') return fd.take()
def __del__(self): logger.debug('deinitializing pysbc') #TODO: деинициализировать иначе pysbc.deinit()
def __init__(self): logger.debug('initializing pysbc') pysbc.init()
def release_file_descriptor(cls): endpoint = cls.get() logger.debug('releasing endpoint transport') endpoint._transport.Release('r')
def SelectConfiguration(self, caps): logger.debug('selecting endpoint configuration') return SBC_CONFIGURATION
def SetConfiguration(self, transport_path, config): logger.debug('setting up endpoint configuration') bus = _get_bus() self._transport = dbus.Interface( bus.get_object('org.bluez', transport_path), 'org.bluez.MediaTransport')
def ClearConfiguration(self): logger.debug('clearing endpoint configuration')
def Release(self): logger.debug('releasing endpoint') self._transport = None
def SetConfiguration(self, transport_path, config): logger.debug('setting up endpoint configuration') bus = _get_bus() self._transport = dbus.Interface(bus.get_object('org.bluez', transport_path), 'org.bluez.MediaTransport')