Example #1
0
def main(opts):
    asyncio_misc_init()

    logging_init(verbose=True)
    osd_logsaver = MemoryLoggingHandler(install=True, max_records=30)
    # Debug messages do not go to OSD, only to console and file.
    osd_logsaver.setLevel(logging.INFO)

    json_logsaver = MemoryLoggingHandler(install=True, max_records=1000)

    root = logging.getLogger()

    if opts.log_dir is None:
        for pdir in LOG_DIR_LOCATIONS:
            opts.log_dir = os.path.abspath(os.path.expanduser(pdir))
            if os.path.exists(opts.log_dir):
                break
        logging.info('Auto-detected logdir as %r', opts.log_dir)

    if opts.check:
        logging.info('Check passed')
        return

    if opts.log_dir != '' and opts.log_prefix is None:
        opts.log_prefix = os.path.abspath(
            os.path.join(
                opts.log_dir,
                time.strftime('mjlog-%Y%m%d-%H%M%S', time.localtime())))

    if opts.log_prefix:
        print 'Saving logs to %s.*' % opts.log_prefix
        txtname = opts.log_prefix + '.log'
        try:
            os.makedirs(os.path.dirname(txtname))
        except OSError:
            pass

        txtlog = logging.FileHandler(txtname, encoding='utf-8')
        txtlog.setFormatter(
            logging.Formatter(
                "%(asctime)s.%(msecs).3d [%(levelname).1s] %(name)s: %(message)s",
                datefmt="%F %T"))
        txtlog.setLevel(logging.DEBUG)
        root.addHandler(txtlog)

    video_window_init()

    ci_kwargs = dict(osd_logsaver=osd_logsaver,
                     json_logsaver=json_logsaver,
                     test_sim_keys=opts.test_sim_keys)
    if opts.addr is None:
        ann = UdpAnnounceReceiver(opts, ci_kwargs=ci_kwargs)
    else:
        cif = ControlInterface(opts, opts.addr, **ci_kwargs)

    logging.info('Running')
    video_window_main()
Example #2
0
def main(opts):
    asyncio_misc_init()

    logging_init(verbose=True)
    osd_logsaver = MemoryLoggingHandler(install=True, max_records=30)
    # Debug messages do not go to OSD, only to console and file.
    osd_logsaver.setLevel(logging.INFO)

    json_logsaver = MemoryLoggingHandler(install=True, max_records=1000)

    root = logging.getLogger()

    if opts.log_dir is None:
        for pdir in LOG_DIR_LOCATIONS:
            opts.log_dir = os.path.abspath(os.path.expanduser(pdir))
            if os.path.exists(opts.log_dir):
                break
        logging.info('Auto-detected logdir as %r', opts.log_dir)

    if opts.check:
        logging.info('Check passed')
        return

    if opts.log_dir != '' and opts.log_prefix is None:
        opts.log_prefix = os.path.abspath(os.path.join(
            opts.log_dir,
            time.strftime('mjlog-%Y%m%d-%H%M%S', time.localtime())))

    if opts.log_prefix:
        print 'Saving logs to %s.*' % opts.log_prefix
        txtname = opts.log_prefix + '.log'
        try:
            os.makedirs(os.path.dirname(txtname))
        except OSError:
            pass

        txtlog = logging.FileHandler(txtname, encoding='utf-8')
        txtlog.setFormatter(logging.Formatter(
            "%(asctime)s.%(msecs).3d [%(levelname).1s] %(name)s: %(message)s",
            datefmt="%F %T"))
        txtlog.setLevel(logging.DEBUG)
        root.addHandler(txtlog)


    video_window_init()

    ci_kwargs = dict(osd_logsaver=osd_logsaver,
                     json_logsaver=json_logsaver,
                     test_sim_keys=opts.test_sim_keys)
    if opts.addr is None:
        ann = UdpAnnounceReceiver(opts, ci_kwargs=ci_kwargs)
    else:
        cif = ControlInterface(opts, opts.addr, **ci_kwargs)

    logging.info('Running')
    video_window_main()
Example #3
0
def main(opts):
    vui_helpers.asyncio_misc_init()

    vui_helpers.logging_init(verbose=True)

    logsaver = vui_helpers.MemoryLoggingHandler(install=True)

    if opts.check:
        logging.info('Check passed')
        return
    # cleanup hack
    proc = subprocess.Popen(
        "killall -v gst-launch-1.0",
        shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT);
    outmsg, _ = proc.communicate()
    for line in outmsg.split('\n'):
        line = line.strip()
        if line != '': logging.debug('Cleanup says: ' + line)
    logging.debug('Cleanup complete, result %r' % proc.returncode)

    cif = ControlInterface(opts, logsaver=logsaver)
    logging.debug('Running')

    asyncio.get_event_loop().run_forever()
Example #4
0
                    else:
                        tags.append('pos_time=0')

                if tags:
                    self.logger.debug('  Pad %s%s.%s: %s', prefix,
                                      elt.get_name(), pad.get_name(),
                                      ', '.join(tags))

    def set_svg_overlay(self, data):
        self.info_overlay.set_property("data", data)


def video_window_init():
    #GObject.threads_init()
    Gst.init(None)


def video_window_main():
    g_quit_handlers.append(Gtk.main_quit)
    Gtk.main()


if __name__ == '__main__':
    # testing only
    host, port_str = sys.argv[0].split(':')

    video_window_init()
    asyncio_misc_init()
    vv = VideoWindow(host, int(port))
    video_window_main()
Example #5
0
                    if pos_time:
                        tags.append("pos_time=%.6f" % (pos_time / 1.0e9))
                    else:
                        tags.append("pos_time=0")

                if tags:
                    self.logger.debug("  Pad %s%s.%s: %s", prefix, elt.get_name(), pad.get_name(), ", ".join(tags))

    def set_svg_overlay(self, data):
        self.info_overlay.set_property("data", data)


def video_window_init():
    # GObject.threads_init()
    Gst.init(None)


def video_window_main():
    g_quit_handlers.append(Gtk.main_quit)
    Gtk.main()


if __name__ == "__main__":
    # testing only
    host, port_str = sys.argv[0].split(":")

    video_window_init()
    asyncio_misc_init()
    vv = VideoWindow(host, int(port))
    video_window_main()