Собственно сделал стрим плеер, впилил туда слайдер:
self.slider_update_signal_id = self.slider.connect(
"value-changed", self.on_slider_changed)
def on_slider_changed(self, range):
length = self.slider.get_value()
self.player.set_position(length / 100.0)
Пробовал довольно примитивно:
GObject.timeout_add(200, self.timing) # вызов после начала проигрывания плеера
и метод:
def timing(self):
length = self.player.get_position()
self.slider.set_value(length * 100.0)
return True
UPD: Еще пробовал с потоками:
thread = threading.Thread(target=self.timing)
thread.daemon = True
thread.start()