| 244 | self.player.get_state(timeout=50*gst.MSECOND) # 50 ms |
| 245 | |
| 246 | def scale_button_release_cb(self, widget, event): |
| 247 | # see seek.cstop_seek |
| 248 | widget.disconnect(self.changed_id) |
| 249 | self.changed_id = -1 |
| 250 | |
| 251 | self.button.set_sensitive(True) |
| 252 | if self.seek_timeout_id != -1: |
| 253 | gobject.source_remove(self.seek_timeout_id) |
| 254 | self.seek_timeout_id = -1 |
| 255 | else: |
| 256 | gst.debug('released slider, setting back to playing') |
| 257 | if self.was_playing: |
| 258 | self.player.play() |
| 259 | |
| 260 | if self.update_id != -1: |
| 261 | self.error('Had a previous update timeout id') |
| 262 | else: |
| 263 | self.update_id = gobject.timeout_add(self.UPDATE_INTERVAL, |
| 264 | self.update_scale_cb) |
| 265 | |
| 266 | def update_scale_cb(self): |
| 267 | self.p_position, self.p_duration = self.player.query_position() |