def omxplayer_process(queue): try: player_num = 0 last_video = None video = True while video: #log.debug("Warte auf Befehle") video = queue.get() try: # block queue queue.put_nowait(True) except: ... log.debug('Play {}'.format(video)) if not last_video == video: try: player.quit() except: killall_omxplayer() log.debug('Load new Video: {}'.format(video)) dbus_name = 'org.mpris.MediaPlayer2.omxplayer{}'.format( player_num) player = OMXPlayer(video, args=omxplayer_args, dbus_name=dbus_name, pause=True) player_num += 1 #log.debug(player.volume()) player.set_volume(1.0) time.sleep(1) # das erste Video soll nicht abgespielt werden, sondern nur einen Kaltstart vermeiden if not last_video == None: player.set_alpha(255) player.play_sync() player.pause() player.set_alpha(0) player.set_position(0) log.debug('Video fertig: {}'.format(video)) last_video = video try: # clean queue queue.get_nowait() except: ... except KeyboardInterrupt: ... finally: killall_omxplayer()