#9 add example for ndi routing
This commit is contained in:
44
example/routing.py
Normal file
44
example/routing.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import random
|
||||||
|
import NDIlib as ndi
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
if not ndi.initialize():
|
||||||
|
print('Cannot run NDI.')
|
||||||
|
return 0
|
||||||
|
|
||||||
|
send_create_desc = ndi.RoutingCreate()
|
||||||
|
send_create_desc.ndi_name = 'Routing'
|
||||||
|
|
||||||
|
ndi_routing = ndi.routing_create(send_create_desc)
|
||||||
|
|
||||||
|
if ndi_routing is None:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
find_create_desc = ndi.FindCreate()
|
||||||
|
ndi_find = ndi.find_create_v2(find_create_desc)
|
||||||
|
|
||||||
|
if ndi_find is None:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
for i in range(1000):
|
||||||
|
sources = ndi.find_get_current_sources(ndi_find)
|
||||||
|
if len(sources) > 0:
|
||||||
|
new_source = random.choice(sources)
|
||||||
|
print('routing to %s \n' % new_source.ndi_name)
|
||||||
|
ndi.routing_change(ndi_routing, new_source)
|
||||||
|
else:
|
||||||
|
ndi.routing_clear(ndi_routing)
|
||||||
|
time.sleep(15)
|
||||||
|
|
||||||
|
ndi.find_destroy(ndi_find)
|
||||||
|
ndi.routing_destroy(ndi_routing)
|
||||||
|
|
||||||
|
ndi.destroy()
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main())
|
||||||
Reference in New Issue
Block a user