我正在使用一个高度动态的gstreamer管道,并且我的代码中填充了填充探测回调。 这使它非常不愉快。 我正在使用asyncio,因此我想更改这种类型的代码:
callback(probe):
manipulate_pipeline()
# Now the pipeline has been manipulated...
return REMOVE_PROBE
pad.add_probe(callback)
成为这种风格
probe = await pad.add_probe_async()
manipulate_pipeline()
# Now the pipeline has been manipulated...
pad.remove_probe(pad)
这样做安全吗?还是我从探查回调中返回而没有删除探查,并继续从asyncio线程中操作被阻塞的垫子,从而引起麻烦?