0

我有自己的自定义元素,我们称之为 MyElement。它有请求接收垫,有时还有源垫。创建源板时,MyElement 会发出一个信号,用户可以截获该信号。在使用此信号注册的回调中,用户可以将新的源焊盘与其他焊盘链接。

问题是,当我尝试将其源垫直接或通过标识元素链接到文件接收器时,MyElement 工作正常。但是,当我尝试将源焊盘链接到交错元素时,管道会失败。

当我将 MyElement 的源连接到 'dump' 属性设置为 true 的标识元素时,也会发生类似的错误。

我的元素/管道缺少什么,导致带有交错的管道失败?

4

1 回答 1

0

身份和文件接收器的大写类型为“任何”。你的垫子有盖子吗?

 Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY

交错具有以下上限:

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 的调试选项,则可能需要阅读。很多事情都可能出错。

如何查看 gstreamer 调试输出?

于 2015-01-20T15:51:59.513 回答