MCPcopy Create free account
hub / github.com/GStreamer/gst-python / PlayerWindow

Class PlayerWindow

old_examples/remuxer.py:574–816  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

572
573
574class PlayerWindow(gtk.Window):
575 UPDATE_INTERVAL = 500
576 def __init__(self):
577 gtk.Window.__init__(self)
578 self.set_default_size(600, 425)
579
580 self.create_ui()
581
582 self.player = GstPlayer(self.videowidget)
583
584 def on_eos():
585 self.player.seek(0L)
586 self.play_toggled()
587 self.player.on_eos = lambda *x: on_eos()
588
589 self.update_id = -1
590 self.changed_id = -1
591 self.seek_timeout_id = -1
592
593 self.p_position = gst.CLOCK_TIME_NONE
594 self.p_duration = gst.CLOCK_TIME_NONE
595
596 def on_delete_event():
597 self.player.stop()
598 gtk.main_quit()
599 self.connect('delete-event', lambda *x: on_delete_event())
600
601 def load_file(self, location):
602 filename = location.split('/')[-1]
603 self.set_title('%s munger' % filename)
604 self.player.set_location(location)
605 if self.videowidget.flags() & gtk.REALIZED:
606 self.play_toggled()
607 else:
608 self.videowidget.connect_after('realize',
609 lambda *x: self.play_toggled())
610
611 def create_ui(self):
612 vbox = gtk.VBox()
613 vbox.show()
614 self.add(vbox)
615
616 self.videowidget = VideoWidget()
617 self.videowidget.show()
618 vbox.pack_start(self.videowidget)
619
620 hbox = gtk.HBox()
621 hbox.show()
622 vbox.pack_start(hbox, fill=False, expand=False)
623
624 self.adjustment = gtk.Adjustment(0.0, 0.00, 100.0, 0.1, 1.0, 1.0)
625 hscale = gtk.HScale(self.adjustment)
626 hscale.set_digits(2)
627 hscale.set_update_policy(gtk.UPDATE_CONTINUOUS)
628 hscale.connect('button-press-event', self.scale_button_press_cb)
629 hscale.connect('button-release-event', self.scale_button_release_cb)
630 hscale.connect('format-value', self.scale_format_value_cb)
631 hbox.pack_start(hscale)

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected