Multichannel opus in rtpopuspay "Returning caps: EMPTY"
When trying to setup a webrtcbin pipeline with vp8 video and multichannel opus audio. It does works exactly as expected with 1-2 audio channels but if there are more than two audio channels I get this error from rtpopuspay:
0:00:00.058292113 29653 0x2898d90 DEBUG rtpbasepayload gstrtpbasepayload.c:692:gst_rtp_base_payload_query_default:<rtpopuspay0> getting caps with filter audio/x-opus, rate=(int)48000, channels=(int)8, [8channel-optus.txt](/uploads/50281226ab16157a257019bee07d80dd/8channel-optus.txt)=(int)1, stream-count=(int)5, coupled-count=(int)3, channel-mapping=(int)< 0, 6, 1, 4, 5, 2, 3, 7 >, streamheader=(buffer)< 4f707573486561640108380180bb000000000105030006010405020307, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572206f707573656e630000000001 >
0:00:00.058342731 29653 0x2898d90 DEBUG rtpopuspay gstrtpopuspay.c:252:gst_rtp_opus_pay_getcaps:<rtpopuspay0> Returning caps: EMPTY
0:00:00.058392563 29653 0x2898d90 WARN GST_CAPS gstpad.c:3231:gst_pad_query_accept_caps_default:<rtpopuspay0:sink> caps: audio/x-opus, rate=(int)48000, channels=(int)8, channel-mapping-family=(int)1, stream-count=(int)5, coupled-count=(int)3, channel-mapping=(int)< 0, 6, 1, 4, 5, 2, 3, 7 >, streamheader=(buffer)< 4f707573486561640108380180bb000000000105030006010405020307, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572206f707573656e630000000001 > were not compatible with: EMPTY
0:00:00.058442472 29653 0x2898d90 WARN GST_CAPS gstpad.c:5702:pre_eventfunc_check:<rtpopuspay0:sink> caps audio/x-opus, rate=(int)48000, channels=(int)8, channel-mapping-family=(int)1, stream-count=(int)5, coupled-count=(int)3, channel-mapping=(int)< 0, 6, 1, 4, 5, 2, 3, 7 >, streamheader=(buffer)< 4f707573486561640108380180bb000000000105030006010405020307, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572206f707573656e630000000001 > not accepted
0:00:00.070892388 29653 0x2898c50 DEBUG rtpbasepayload gstrtpbasepayload.c:552:gst_rtp_base_payload_sink_event_default:<rtpvp8pay0> configured SEGMENT time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.107664204 29653 0x2898d40 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<socketsrc1> error: Internal data stream error.
0:00:00.107703071 29653 0x2898d40 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<socketsrc1> error: streaming stopped, reason not-negotiated (-4)
0:00:00.107771721 29653 0x2898d40 WARN queue gstqueue.c:990:gst_queue_handle_sink_event:<queue1> error: Internal data stream error.
0:00:00.107786930 29653 0x2898d40 WARN queue gstqueue.c:990:gst_queue_handle_sink_event:<queue1> error: streaming stopped, reason not-negotiated (-4)
Not sure if this may be related but the capsfilter
set after rtpopuspay is:
application/x-rtp,media=audio,encoding-name=OPUS,payload=97
Overview of the pipeline:
What does the error means?
Edited by Piotr Gasiorowski