avenc_opus can't negotiate
Something as simple as:
gst-launch-1.0 audiotestsrc ! audioconvert ! avenc_opus strict=experimental ! fakesink --gst-debug=*:3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.149466112 8926 0x55da6b957f70 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<audiotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.151105733 8926 0x55da6b957f70 WARN audioencoder gstaudioencoder.c:1362:gst_audio_encoder_chain:<avenc_opus0> error: encoder not initialized
0:00:00.151210310 8926 0x55da6b957f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<audiotestsrc0> error: Internal data stream error.
0:00:00.151221859 8926 0x55da6b957f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<audiotestsrc0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/avenc_opus:avenc_opus0: GStreamer error: negotiation problem.
Additional debug info:
gstaudioencoder.c(1362): gst_audio_encoder_chain (): /GstPipeline:pipeline0/avenc_opus:avenc_opus0:
encoder not initialized
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Fails to negotiate.
The problem seems to be in the avenc_opus
:
0:00:00.164404152 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:src> get pad caps with filter (NULL)
0:00:00.164426419 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3183:gst_pad_query_caps_default:<avenc_opus0:src> query caps caps query: 0x7f95b4004590, GstQueryCaps, filter=(GstCaps)"NULL", caps=(GstCaps)"NULL";
0:00:00.164441413 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3200:gst_pad_query_caps_default:<avenc_opus0:src> fixed pad caps: trying pad caps
0:00:00.164455370 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3206:gst_pad_query_caps_default:<avenc_opus0:src> trying pad template caps
0:00:00.164470876 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3236:gst_pad_query_caps_default:<avenc_opus0:src> using caps 0x56097fdcc630 unknown/unknown
0:00:00.164500601 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:src> query returned unknown/unknown
0:00:00.164521806 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2836:gst_pad_get_allowed_caps:<avenc_opus0:src> allowed caps unknown/unknown
Maybe some mapping issue similar to #25?
Full log of caps:
msb@QtecDebian:~$ gst-launch-1.0 audiotestsrc ! audioconvert ! avenc_opus strict=experimental ! fakesink --gst-debug=*:3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.149466112 8926 0x55da6b957f70 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<audiotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.151105733 8926 0x55da6b957f70 WARN audioencoder gstaudioencoder.c:1362:gst_audio_encoder_chain:<avenc_opus0> error: encoder not initialized
0:00:00.151210310 8926 0x55da6b957f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<audiotestsrc0> error: Internal data stream error.
0:00:00.151221859 8926 0x55da6b957f70 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<audiotestsrc0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/avenc_opus:avenc_opus0: GStreamer error: negotiation problem.
Additional debug info:
gstaudioencoder.c(1362): gst_audio_encoder_chain (): /GstPipeline:pipeline0/avenc_opus:avenc_opus0:
encoder not initialized
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
msb@QtecDebian:~$ gst-launch-1.0 audiotestsrc ! audioconvert ! avenc_opus strict=experimental ! fakesink --gst-debug=GST_CAPS*:5
0:00:00.161504001 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audiotestsrc0:src> get pad caps with filter (NULL)
0:00:00.161656792 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audiotestsrc0:src> query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.161725736 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audioconvert0:sink> get pad caps with filter (NULL)
0:00:00.161823140 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audioconvert0:src> get pad peer caps with filter (NULL)
0:00:00.162026353 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audioconvert0:sink> query returned audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:00.162116570 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audiotestsrc0:src> get pad caps with filter (NULL)
0:00:00.162153868 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audiotestsrc0:src> query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162164276 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audioconvert0:sink> get pad caps with filter (NULL)
0:00:00.162175749 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audioconvert0:src> get pad peer caps with filter (NULL)
0:00:00.162208567 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audioconvert0:sink> query returned audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:00.162237059 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2278:gst_pad_link_check_compatible_unlocked:<audiotestsrc0:src> src caps audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162250973 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2280:gst_pad_link_check_compatible_unlocked:<audioconvert0:sink> sink caps audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:00.162262904 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2298:gst_pad_link_check_compatible_unlocked: caps are compatible
0:00:00.162280848 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audioconvert0:src> get pad caps with filter (NULL)
0:00:00.162318415 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audioconvert0:sink> get pad peer caps with filter (NULL)
0:00:00.162338114 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<audioconvert0:sink> peer query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162511677 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audioconvert0:src> query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162534907 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:sink> get pad caps with filter (NULL)
0:00:00.162545150 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<avenc_opus0:src> get pad peer caps with filter (NULL)
0:00:00.162569174 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:sink> query returned audio/x-raw, channels=(int)1, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE
0:00:00.162586775 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audioconvert0:src> get pad caps with filter (NULL)
0:00:00.162608656 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audioconvert0:sink> get pad peer caps with filter (NULL)
0:00:00.162624303 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<audioconvert0:sink> peer query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162746862 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audioconvert0:src> query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162768070 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:sink> get pad caps with filter (NULL)
0:00:00.162776799 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<avenc_opus0:src> get pad peer caps with filter (NULL)
0:00:00.162795130 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:sink> query returned audio/x-raw, channels=(int)1, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE
0:00:00.162808668 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2278:gst_pad_link_check_compatible_unlocked:<audioconvert0:src> src caps audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.162822319 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2280:gst_pad_link_check_compatible_unlocked:<avenc_opus0:sink> sink caps audio/x-raw, channels=(int)1, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channels=(int)2, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE
0:00:00.162835991 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2298:gst_pad_link_check_compatible_unlocked: caps are compatible
0:00:00.162850218 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:src> get pad caps with filter (NULL)
0:00:00.162865047 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3183:gst_pad_query_caps_default:<avenc_opus0:src> query caps caps query: 0x56098001f1e0, GstQueryCaps, filter=(GstCaps)"NULL", caps=(GstCaps)"NULL";
0:00:00.162874852 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3200:gst_pad_query_caps_default:<avenc_opus0:src> fixed pad caps: trying pad caps
0:00:00.162883031 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3206:gst_pad_query_caps_default:<avenc_opus0:src> trying pad template caps
0:00:00.162890945 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3236:gst_pad_query_caps_default:<avenc_opus0:src> using caps 0x56097fdcc630 unknown/unknown
0:00:00.162898864 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:src> query returned unknown/unknown
0:00:00.162907431 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.162916587 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.162929005 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:src> get pad caps with filter (NULL)
0:00:00.162938998 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3183:gst_pad_query_caps_default:<avenc_opus0:src> query caps caps query: 0x56098001f400, GstQueryCaps, filter=(GstCaps)"NULL", caps=(GstCaps)"NULL";
0:00:00.162947549 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3200:gst_pad_query_caps_default:<avenc_opus0:src> fixed pad caps: trying pad caps
0:00:00.162953543 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3206:gst_pad_query_caps_default:<avenc_opus0:src> trying pad template caps
0:00:00.162960535 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:3236:gst_pad_query_caps_default:<avenc_opus0:src> using caps 0x56097fdcc630 unknown/unknown
0:00:00.162970752 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:src> query returned unknown/unknown
0:00:00.162977522 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.162985488 8933 0x560980023200 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.163008924 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2278:gst_pad_link_check_compatible_unlocked:<avenc_opus0:src> src caps unknown/unknown
0:00:00.163018638 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2280:gst_pad_link_check_compatible_unlocked:<fakesink0:sink> sink caps ANY
0:00:00.163024524 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2298:gst_pad_link_check_compatible_unlocked: caps are compatible
Setting pipeline to PAUSED ...
0:00:00.163178228 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audioconvert0:sink> get current pad caps (NULL)
0:00:00.163199833 8933 0x560980023200 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audioconvert0:src> get current pad caps (NULL)
Pipeline is PREROLLING ...
0:00:00.163496997 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<audiotestsrc0:src> get pad caps with filter (NULL)
0:00:00.163538980 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<audiotestsrc0:src> query returned audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.163563759 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audiotestsrc0:src> get pad peer caps with filter audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.163653850 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<audioconvert0:src> get pad peer caps with filter audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:00.163678844 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<avenc_opus0:src> get pad peer caps with filter unknown/unknown, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.163698557 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<avenc_opus0:src> peer query returned unknown/unknown, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
0:00:00.163733985 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<audioconvert0:src> peer query returned audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, rate=(int)48000, channels=(int)2, layout=(string)interleaved, format=(string)F32LE
0:00:00.163839400 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<audiotestsrc0:src> peer query returned audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, rate=(int)48000, channels=(int)2, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, format=(string){ S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }, layout=(string)interleaved, rate=(int)48000, channels=(int)[ 1, 2147483647 ]
0:00:00.163864222 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audiotestsrc0:src> get current pad caps (NULL)
0:00:00.163901188 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3141:gst_pad_query_accept_caps:<audioconvert0:sink> accept caps of audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE
0:00:00.163946276 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:sink> get pad caps with filter audio/x-raw, rate=(int)48000, layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:00.163970879 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3104:gst_pad_peer_query_caps:<avenc_opus0:src> get pad peer caps with filter unknown/unknown, rate=(int)48000, channels=(int)[ 1, 2147483647 ]
0:00:00.164005530 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3111:gst_pad_peer_query_caps:<avenc_opus0:src> peer query returned unknown/unknown, rate=(int)48000, channels=(int)[ 1, 2147483647 ]
0:00:00.164043324 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:sink> query returned audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, rate=(int)48000, channels=(int)2, layout=(string)interleaved, format=(string)F32LE
0:00:00.164084454 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3141:gst_pad_query_accept_caps:<avenc_opus0:sink> accept caps of audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE
0:00:00.164106733 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audioconvert0:sink> get current pad caps (NULL)
0:00:00.164122215 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audioconvert0:src> get current pad caps (NULL)
0:00:00.164172438 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3141:gst_pad_query_accept_caps:<avenc_opus0:sink> accept caps of audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE
0:00:00.164200977 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<audiotestsrc0:src> get current pad caps audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE
0:00:00.164291740 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2733:gst_pad_get_current_caps:<avenc_opus0:sink> get current pad caps audio/x-raw, rate=(int)48000, channels=(int)1, layout=(string)interleaved, format=(string)F32LE
0:00:00.164404152 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3058:gst_pad_query_caps:<avenc_opus0:src> get pad caps with filter (NULL)
0:00:00.164426419 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3183:gst_pad_query_caps_default:<avenc_opus0:src> query caps caps query: 0x7f95b4004590, GstQueryCaps, filter=(GstCaps)"NULL", caps=(GstCaps)"NULL";
0:00:00.164441413 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3200:gst_pad_query_caps_default:<avenc_opus0:src> fixed pad caps: trying pad caps
0:00:00.164455370 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3206:gst_pad_query_caps_default:<avenc_opus0:src> trying pad template caps
0:00:00.164470876 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:3236:gst_pad_query_caps_default:<avenc_opus0:src> using caps 0x56097fdcc630 unknown/unknown
0:00:00.164500601 8933 0x56098001f370 DEBUG GST_CAPS gstutils.c:3065:gst_pad_query_caps:<avenc_opus0:src> query returned unknown/unknown
0:00:00.164521806 8933 0x56098001f370 DEBUG GST_CAPS gstpad.c:2836:gst_pad_get_allowed_caps:<avenc_opus0:src> allowed caps unknown/unknown
ERROR: from element /GstPipeline:pipeline0/avenc_opus:avenc_opus0: GStreamer error: negotiation problem.
Additional debug info:
gstaudioencoder.c(1362): gst_audio_encoder_chain (): /GstPipeline:pipeline0/avenc_opus:avenc_opus0:
encoder not initialized
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...