Exemplo n.º 1
0
    def __init__(self, source=None, esize=None):
        QMainWindow.__init__(self)
        self.showMaximized()
        self.vidpip = GstVideoPipeline(source=source)
        self.vidpip.size_widgets(frac=0.5)

        self.mysink = CbSink()
        self.vidpip.player.add(self.mysink)

        self.snapshot_requested = False
        self.raw = 0
        if self.raw:
            totee = self.mysink
        else:
            print("Create jpegnec")
            self.jpegenc = Gst.ElementFactory.make("jpegenc")
            self.vidpip.player.add(self.jpegenc)
            totee = self.jpegenc

        self.vidpip.setupGst(raw_tees=[totee], esize=esize)
        if not self.raw:
            print("raw add")
            assert self.jpegenc.link(self.mysink)
        self.mysink.cb = self.snapshot_cb

        self.initUI()
        self.vidpip.run()
        self.control_scroll.run()
Exemplo n.º 2
0
    def __init__(self, source=None):
        QMainWindow.__init__(self)
        self.vidpip = GstVideoPipeline(source=source)
        self.initUI()
        # self.mysink = Gst.ElementFactory.make("mysink")
        # self.mysink = MySink()
        self.mysink = CbSink()
        self.vidpip.player.add(self.mysink)

        self.raw = 0
        if self.raw:
            totee = self.mysink
        else:
            print("Create jpegnec")
            self.jpegenc = Gst.ElementFactory.make("jpegenc")
            self.vidpip.player.add(self.jpegenc)
            totee = self.jpegenc

        def cb(buffer):
            print("got buffer, size %u" % len(buffer))
            if self.raw:
                open("raw.bin", "wb").write(buffer)
            else:
                open("raw.jpg", "wb").write(buffer)

        # Initialize this early so we can get control default values
        self.vidpip.setupGst(raw_tees=[totee])
        if not self.raw:
            print("raw add")
            assert self.jpegenc.link(self.mysink)

        self.mysink.cb = cb
        assert self.mysink
        self.vidpip.run()
Exemplo n.º 3
0
    def __init__(self, source=None):
        QMainWindow.__init__(self)
        self.showMaximized()
        self.vidpip = GstVideoPipeline(source=source)
        self.vidpip.size_widgets(frac=0.5)

        self.mysink = CbSink()
        self.vidpip.player.add(self.mysink)

        self.snapshot_requested = False
        self.raw = 0
        if self.raw:
            totee = self.mysink
        else:
            print("Create jpegnec")
            self.jpegenc = Gst.ElementFactory.make("jpegenc")
            self.vidpip.player.add(self.jpegenc)
            totee = self.jpegenc

        self.vidpip.setupGst(raw_tees=[totee])
        if not self.raw:
            print("raw add")
            assert self.jpegenc.link(self.mysink)

        self.initUI()
        self.vidpip.run()
        # Starts the polling timer
        # Lets disable in favor of manually controlling updates
        # to avoid contention with AWB algorithm
        # self.control_scroll.run()

        self.setup_processor()
        """
Exemplo n.º 4
0
 def __init__(self, source=None):
     QMainWindow.__init__(self)
     self.vidpip = GstVideoPipeline(source=source)
     self.initUI()
     self.fakesink = Gst.ElementFactory.make("fakesink")
     self.vidpip.player.add(self.fakesink)
     self.vidpip.setupGst(vc_tees=[self.fakesink])
     self.vidpip.run()
Exemplo n.º 5
0
    def __init__(self, source=None):
        QMainWindow.__init__(self)
        self.vidpip = GstVideoPipeline(source=source, full=True, roi=True)
        self.initUI()
        self.mysink = CbSink()

        self.vidpip.setupGst()
        self.vidpip.run()
Exemplo n.º 6
0
    def __init__(self, source=None):
        QMainWindow.__init__(self)
        self.showMaximized()
        self.vidpip = GstVideoPipeline(source=source)
        self.vidpip.size_widgets(frac=0.5)

        self.vidpip.setupGst()
        self.initUI()
        self.vidpip.run()
Exemplo n.º 7
0
 def __init__(self, source=None):
     QMainWindow.__init__(self)
     self.vidpip = GstVideoPipeline(source=source)
     self.initUI()
     self.vidpip.setupGst()
     self.vidpip.run()
Exemplo n.º 8
0
    def __init__(self, source=None, controls=False):
        QMainWindow.__init__(self)
        self.showMaximized()

        # FIXME: pull from config file etc
        if source is None:
            source = usj["imager"]["source"]
        self.vidpip = GstVideoPipeline(source=source, full=True, roi=True)
        # FIXME: review sizing
        self.vidpip.size_widgets(frac=0.5)
        # self.capture_sink = Gst.ElementFactory.make("capturesink")

        self.jpegenc = Gst.ElementFactory.make("jpegenc")
        self.vidpip.player.add(self.jpegenc)

        self.capture_sink = CaptureSink()
        assert self.capture_sink
        self.vidpip.player.add(self.capture_sink)
        self.vidpip.setupGst(raw_tees=[self.jpegenc])
        self.jpegenc.link(self.capture_sink)

        self.usj = usj

        # must be created early to accept early logging
        # not displayed until later though
        self.log_widget = QTextEdit()
        # Special case for logging that might occur out of thread
        self.log_msg.connect(self.log)
        # self.pos.connect(self.update_pos)
        self.snapshotCaptured.connect(self.captureSnapshot)

        self.pt = None
        self.log_fd = None
        hal = get_cnc_hal(log=self.emit_log)
        hal.progress = self.hal_progress
        self.cnc_thread = CncThread(hal=hal, cmd_done=self.cmd_done)
        self.cnc_thread.log_msg.connect(self.log)
        self.initUI()

        self.propwin = None
        self.propwin = PropertiesWindow(self.vidpip,
                                        show=controls,
                                        parent=self)
        self.activateWindow()

        self.vid_fd = None

        # Must not be initialized until after layout is set
        self.gstWindowId = None
        engine_config = self.usj['imager']['engine']

        self.cnc_thread.start()

        # Offload callback to GUI thread so it can do GUI ops
        self.cncProgress.connect(self.processCncProgress)

        self.vidpip.run()

        self.init_imager()

        if self.usj['cnc']['startup_run']:
            self.run()