Python-GStreamer:使用固定参数访问 class 回调函数内的成员
Python-GStreamer: Access class members inside callback function with fixed arguments
我有一个回调,它由 GStreamer-Python 绑定提供,它接受固定数量的参数。这是 API :add_probe
我从 class 函数内部调用此函数。下面是伪代码:
class Example:
def __init__(self):
thread = threading.Thread(target=self.run)
thread.start()
def run(self):
#if external event
self.idsrcpad = identity.get_static_pad("src") #get source pad
self.idsrcpad.add_probe(Gst.PadProbeType.IDLE,self.modify_pipeline)
def modify_pipeline(pad,info,self):
#access self.idsrcpad
self.idsrcpad.unlink(...)
访问 self.idsrcpad
时出错,提示 idsrcpad
不是 self 的成员。
下面的question addresses, a similar issue, but then the callback function in the question does not have fixed number of arguments. In my case, the arguments are fixed for the callback function. Here is a more elaborate description of the add_probe函数。
任何人都可以告诉我我在这里做错了什么。
回调的正确语法是:
def modify_pipeline(self,pad,info):
有了这个新定义,self
就可以在函数内部使用了。
我有一个回调,它由 GStreamer-Python 绑定提供,它接受固定数量的参数。这是 API :add_probe 我从 class 函数内部调用此函数。下面是伪代码:
class Example:
def __init__(self):
thread = threading.Thread(target=self.run)
thread.start()
def run(self):
#if external event
self.idsrcpad = identity.get_static_pad("src") #get source pad
self.idsrcpad.add_probe(Gst.PadProbeType.IDLE,self.modify_pipeline)
def modify_pipeline(pad,info,self):
#access self.idsrcpad
self.idsrcpad.unlink(...)
访问 self.idsrcpad
时出错,提示 idsrcpad
不是 self 的成员。
下面的question addresses, a similar issue, but then the callback function in the question does not have fixed number of arguments. In my case, the arguments are fixed for the callback function. Here is a more elaborate description of the add_probe函数。
任何人都可以告诉我我在这里做错了什么。
回调的正确语法是:
def modify_pipeline(self,pad,info):
有了这个新定义,self
就可以在函数内部使用了。