我有自己的自定义元素,我们称之为MyElement。 它有请求接收垫,有时还有源垫。当一个源垫 创建后,MyElement会发出一个可被用户拦截的信号。在使用此信号注册的回调中,用户可以将新的源垫与其他垫连接起来。
问题是,当我尝试直接或通过标识元素将其源焊盘链接到filesink时,MyElement工作正常。但是,当我尝试将源焊盘链接到交错元素时,管道发生故障。
当我使用' dump'将MyElement的源连接到身份元素时,会发生类似的错误。属性设置为true。
我的元素/管道丢失了什么,这会使交错管道失败?
答案 0 :(得分:0)
identity和filesink的上限类型为" any"。你的垫子有盖子吗?
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
ANY
Interleave有以下上限:
Pad Templates:
SINK template: 'sink%d'
Availability: On request
Has request_new_pad() function: gst_interleave_request_new_pad
Capabilities:
audio/x-raw-int
rate: [ 1, 2147483647 ]
channels: 1
endianness: { 1234, 4321 }
width: { 8, 16, 24, 32 }
depth: [ 1, 32 ]
signed: true
audio/x-raw-float
rate: [ 1, 2147483647 ]
channels: 1
endianness: { 1234, 4321 }
width: { 32, 64 }
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw-int
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
endianness: { 1234, 4321 }
width: { 8, 16, 24, 32 }
depth: [ 1, 32 ]
signed: true
audio/x-raw-float
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
endianness: { 1234, 4321 }
width: { 32, 64 }
如果您尚未阅读GStreamer的调试选项,可能需要阅读。很多都可能出错。