无法使用 avenc_g722 为 Gstreamer 应用程序编码 G722:捕获 SIGSEGV

Cannot encode G722 with avenc_g722 for Gstreamer application: Caught SIGSEGV

我想使用 gstreamer-1.0 在 G722 编解码器中流式传输音频。 当我使用以下命令时,发生了 SIGSEGV。

tx: gst-launch-1.0 -v alsasrc device="hw:0" ! decodebin ! audioconvert ! audioresample ! avenc_g722 ! fakesink

结果:

/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = "audio/x-raw\,\ format\=(string)S16LE\,\ layout\=(string)interleaved\,\ rate\=(int)44100\,\ channels\=(int)2\,\ channel-mask\=(bitmask)0x0000000000000003"

Caught SIGSEGV

#0 0x76d28c20 in poll () from /lib/libc.so.6

#1 0x00000000 in ?? () 0:00:02.291262125 957 0x1122d50 WARN
alsa gstalsasrc.c:868:xrun_recovery: xrun recovery -32: Broken pipe Spinning. Please run 'gdb gst-launch-1.0 957' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

我查看了gdb,结果如下

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available. 0x76c9bc20 in poll () from /lib/libc.so.6

我该怎么做才能解决这个问题? avenc_g722有bug吗?

有g722编码器吗? 我只知道 ffenc_g722 但我认为 gst-ffmpeg 仅适用于 gstreamer-0.10,所以我不能使用它。

环境:

OS: 约克托莫蒂 CPU:imx6ull(16 位)

尝试添加 audioparse 如下所示:

gst-launch-1.0 -v alsasrc device="hw:0" ! audioparse ! decodebin ! audioconvert ! audioresample ! avenc_g722 ! fakesink dump=true