示例#1
0
文件: recorder.py 项目: clones/kaa
}

ZDF = {
    "frequency":562000000,
    "inversion": "AUTO",
    "bandwidth":str(8),
    "code-rate-hp":"2/3",
    "code-rate-lp":"2/3",
    "modulation":"QAM 16",
    "trans-mode":"8k",
    "guard":str(4),
    "hierarchy":"NONE"
}

kaa.main.select_notifier('generic')
kaa.gobject_set_threaded()

d =dvb.DVB(adapter=0, frontend=0)

# tune to ARD in 0.5 seconds
kaa.OneShotTimer(d.tune, ARD).start(0.5)

# start recording 1 after 1 second from startup and stop 4 seconds later
sink = gst.parse_bin_from_description('queue ! filesink name=sink', True)
sink.get_by_name("sink").set_property('location', 'foo1.ts')
kaa.OneShotTimer(d.get_stream(160).append, sink).start(1.0)
kaa.OneShotTimer(d.get_stream(160).remove, sink).start(5.0)

# start recording 2 after 4 second from startup and stop 1 second later
sink = gst.element_factory_make('filesink')
sink.set_property('location', 'foo2.ts')
示例#2
0
文件: __init__.py 项目: clones/kaa
    ReflectTexture = libcandy.ReflectTexture

class Mainloop(object):
    """
    Clutter mainloop.
    """

    def run(self):
        # Import clutter only in the gobject thread
        # This function will be the running mainloop
        if 'clutter' in sys.modules:
            print 'kaa.candy thread failure, kaa.candy may segfault'
        try:
            import clutter
        except Exception, e:
            log.exception('unable to import clutter')
            return
        clutter.threads_init()
        import_modules()
        clutter.init()
        clutter.main()
    def quit(self):
        # Import clutter only in the gobject thread
        import clutter
        clutter.main_quit()

if 'sphinx' not in sys.modules:
    # set generic mainloop and start the clutter thread
    kaa.main.select_notifier('generic')
    kaa.gobject_set_threaded(Mainloop())
示例#3
0

class Test():
    @kaa.threaded(kaa.GOBJECT)
    @kaa.synchronized()
    def foo(self):
        import time
        time.sleep(0.4)
        return kaa.is_mainthread()

    @kaa.coroutine()
    def test(self):
        r = yield self.foo()
        print 'foo', kaa.is_mainthread(), r

    @kaa.synchronized()
    def has_to_wait(self):
        print 'go'


if 1:
    kaa.gobject_set_threaded()
else:
    kaa.main.select_notifier('gtk')

t = Test()
kaa.OneShotTimer(t.test).start(0.1)
kaa.OneShotTimer(t.has_to_wait).start(0.2)
kaa.main.run()
print 'done'
示例#4
0
logger = logging.getLogger()

# remove handler, we want to set the look and avoid duplicate handlers
for l in logger.handlers[:]:
    logger.removeHandler(l)

# set stdout logging
formatter = logging.Formatter('%(levelname)s candy:%(module)s(%(lineno)s): %(message)s')
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)

if sys.argv[2]:
    formatter = logging.Formatter('%(asctime)s %(levelname)-8s [%(name)6s] %(filename)s %(lineno)s: %(message)s')
    handler = logging.handlers.RotatingFileHandler(sys.argv[2], maxBytes=1000000, backupCount=2)
    handler.setFormatter(formatter)
    logger.addHandler(handler)

# set log level
logger.setLevel(logging.INFO)

try:
    kaa.main.init('generic')
    kaa.gobject_set_threaded(mainloop)
    # start server and keep its reference to avoid it being deleted by
    # GC before the actual connect.
    s = Server(sys.argv[1])
    kaa.main.run()
except Exception, e:
    log.exception('backend shutdown')