首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超过8个信道的GStreamer vorbis编码器警告(无效信道位置)

超过8个信道的GStreamer vorbis编码器警告(无效信道位置)
EN

Stack Overflow用户
提问于 2020-03-12 05:25:00
回答 1查看 194关注 0票数 0

我有一个管道appsrc->rawaudioparse->audioconvert->vorbisenc->oggmux->filesink。在appsrc中,我在缓冲区中推送数据。数据有16个通道,在一个浮点数组中,具有交错布局(ch1、ch2、ch3、.、ch16、ch1、ch2、.、ch16)。rawaudioparse属性如下:

代码语言:javascript
复制
g_object_set(G_OBJECT(parser) , "pcm-format", 28, // f32le: GST_AUDIO_FORMAT_F32LE
                                "num-channels", 16,
                                "sample-rate", 100,
                                "interleaved", TRUE,
                                 NULL);

管道似乎运转良好,但我收到了一个令我担心的警告。只有当我将频道数设置为8个以上时,才会出现此警告。

代码语言:javascript
复制
** (encoder:3785): WARNING **: 07:56:10.576: Invalid channel positions.

在rawaudioparse中有一个名为channel-positions的属性,但我不知道如何设置它。

有人知道为什么这个警告存在于8个以上的频道中,以及如何修复它吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-12 09:54:09

检查https://gstreamer.freedesktop.org/documentation/audio/gstaudiochannels.html?gi-language=c#GstAudioChannelPosition中的GstAudioChannelPosition

因为在这么多的频道里,没有什么需要做的了,我会尝试添加到你的g_object_set中。

代码语言:javascript
复制
"channel-positions", GST_AUDIO_CHANNEL_POSITION_NONE,

我想知道为什么它不会自动设置,但如果你设置的频道数高于8..

如果警告持续存在,我将再次检查所商定的元素上限。如果设置了channel-mask,则它应该是0x0

除此之外,该警告只是告诉您有一个通道位置集,但与其他格式相加,很可能会被忽略(这与预先告诉它没有位置一样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60648077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档