def __init__(self, mode, images):
self.hbox = Gtk.Box(Gtk.Orientation.HORIZONTAL)
self.menu_revealer = self._build_revealer()
self.video_monitor = Gtk.DrawingArea()
self.video_monitor.set_margin_left(6)
self.video_monitor.set_margin_right(6)
self.video_monitor.set_margin_bottom(6)
self.video_monitor.set_halign(Gtk.Align.FILL)
self.video_monitor.set_valign(Gtk.Align.FILL)
self.video_monitor.set_size_request(700, 400)
self.placeholder_pipeline = self.get_placeholder_pipeline()
self.placeholder_bus = self.create_gstreamer_bus(
self.placeholder_pipeline.pipeline)
self.pipeline = self.create_pipeline_instance(mode)
self.bus = self.create_gstreamer_bus(self.pipeline.pipeline)
self.xid = None
self.video_menu = VideoMenu(
self.pipeline, self.menu_revealer, self.placeholder_pipeline)
self.audio_menu = AudioMenu(
self.pipeline, self.menu_revealer, self.placeholder_pipeline)
self.stream_menu = StreamMenu(self.pipeline, self.menu_revealer)
self.store_menu = StoreMenu(self.pipeline, self.menu_revealer)
self.settings_menu = SettingsMenu(self.pipeline, self.menu_revealer)
self.images = images
self.controls = ControlBar(self.pipeline, self.menu_revealer,
self.images,
self.video_menu,
self.audio_menu,
self.stream_menu,
self.store_menu,
self.settings_menu,
self.placeholder_pipeline)
self.controls.overlay_container.add(self.video_monitor)
self.controls.display_controls()
self.vumeter_box = self._build_vumeter()
self.controls.overlay_container.add_overlay(self.vumeter_box)
self.hbox.pack_start(self.controls.overlay_container, True, True, 0)
self.hbox.pack_start(self.menu_revealer, False, False, 0)
评论列表
文章目录