Issue with the end of the pipeline using rtpopuspay

Jack jack at rybn.org
Fri Jan 25 13:26:03 UTC 2019


Hello,

I have this pipeline working well now :

gst-launch-1.0 -v filesrc location=17seconds48000D.wav ! wavparse !
deinterleave name=d
d.src_0 ! queue ! volume name="vol0" volume=0.5 ! audiopanorama
name="pan0" panorama=-1 ! audio/x-raw,channels=2 ! deinterleave name=d0
d.src_1 ! queue ! volume name="vol1" volume=0.5 ! audiopanorama
name="pan1" panorama=-1 ! audio/x-raw,channels=2 ! deinterleave name=d1
d0.src_0 ! queue ! mix0.
d0.src_1 ! queue ! mix1.
d1.src_0 ! queue ! mix0.
d1.src_1 ! queue ! mix1.
audiomixer name=mix0 ! i.sink_0
audiomixer name=mix1 ! i.sink_1
interleave name=i ! opusenc ! oggmux ! filesink location=output.ogg


And this one failed :

gst-launch-1.0 -v filesrc location=17seconds48000D.wav ! wavparse !
deinterleave name=d
d.src_0 ! queue ! volume name="vol0" volume=0.5 ! audiopanorama
name="pan0" panorama=-1 ! audio/x-raw,channels=2 ! deinterleave name=d0
d.src_1 ! queue ! volume name="vol1" volume=0.5 ! audiopanorama
name="pan1" panorama=-1 ! audio/x-raw,channels=2 ! deinterleave name=d1
d0.src_0 ! queue ! mix0.
d0.src_1 ! queue ! mix1.
d1.src_0 ! queue ! mix0.
d1.src_1 ! queue ! mix1.
audiomixer name=mix0 ! i.sink_0
audiomixer name=mix1 ! i.sink_1
interleave name=i ! opusenc ! rtpopuspay pt=96 ! fakesink


As you can see, only the end of the pipeline change "rtpopuspay pt=96 !
fakesink" instead of "oggmux ! filesink location=output.ogg".

A recommandation to make the pipeline with rtpopuspay working ?
++

Jack

The sound file 17seconds48000D.wav :
Input #0, wav, from '17seconds48000D.wav':
  Metadata:
    encoder         : Lavf57.83.100
  Duration: 00:04:01.19, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2
channels, s16, 1536 kb/s



Here the output of the erroneous pipeline with GST_DEBUG=3 in verbose mode :

Setting pipeline to PAUSED ...
0:00:00.017085683  9634 0x7f3020002320 WARN                 basesrc
gstbasesrc.c:3592:gst_base_src_start_complete:<filesrc0> pad not
activated yet
Pipeline is PREROLLING ...
0:00:00.017209175  9634 0x557628662770 FIXME                default
gstutils.c:3981:gst_pad_create_stream_id_internal:<wavparse0:src>
Creating random stream-id, consider implementing a deterministic way of
creating a stream-id
/GstPipeline:pipeline0/GstWavParse:wavparse0.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)48000
/GstPipeline:pipeline0/GstDeinterleave:d.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int)48000
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstVolume:vol1.GstPad:src: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstAudioPanorama:pan1.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstAudioPanorama:pan1.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstAudioPanorama:pan0.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstDeinterleave:d1.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstAudioPanorama:pan1.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstVolume:vol1.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstDeinterleave:d0.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstAudioPanorama:pan0.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstVolume:vol0.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue4.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue4.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstAudioMixer:mix0.GstAudioMixerPad:sink_1: caps
= audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue5.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue5.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstAudioMixer:mix0.GstAudioMixerPad:sink_0: caps
= audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue3.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstQueue:queue3.GstPad:sink: caps = audio/x-raw,
format=(string)S16LE, layout=(string)interleaved, rate=(int)48000,
channels=(int)1
/GstPipeline:pipeline0/GstAudioMixer:mix1.GstAudioMixerPad:sink_1: caps
= audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstAudioMixer:mix1.GstAudioMixerPad:sink_0: caps
= audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstAudioMixer:mix1.GstAudioAggregatorConvertPad:src:
caps = audio/x-raw, format=(string)S16LE, rate=(int)48000,
channels=(int)1, layout=(string)interleaved
/GstPipeline:pipeline0/GstAudioMixer:mix0.GstAudioAggregatorConvertPad:src:
caps = audio/x-raw, format=(string)S16LE, rate=(int)48000,
channels=(int)1, layout=(string)interleaved
0:00:00.024134607  9634 0x5576286b4850 WARN              interleave
interleave.c:316:gst_interleave_set_channel_positions:<i> Invalid
channel positions, using NONE
0:00:00.024152059  9634 0x5576286b4850 FIXME               basesink
gstbasesink.c:3248:gst_base_sink_default_event:<fakesink0> stream-start
event without group-id. Consider implementing group-id handling in the
upstream elements
/GstPipeline:pipeline0/GstInterleave:i.GstInterleavePad:sink_1: caps =
audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1,
layout=(string)interleaved
/GstPipeline:pipeline0/GstInterleave:i.GstPad:src: caps = audio/x-raw,
format=(string)S16LE, rate=(int)48000, channels=(int)2,
layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000000
/GstPipeline:pipeline0/GstOpusEnc:opusenc0.GstPad:sink: caps =
audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)2,
layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000000
/GstPipeline:pipeline0/GstInterleave:i.GstInterleavePad:sink_0: caps =
audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)1,
layout=(string)interleaved
Redistribute latency...
0:00:00.024508119  9634 0x5576286b4850 WARN                GST_PADS
gstpad.c:4230:gst_pad_peer_query:<opusenc0:src> could not send sticky events
/GstPipeline:pipeline0/GstOpusEnc:opusenc0.GstPad:src: caps =
audio/x-opus, rate=(int)48000, channels=(int)2,
channel-mapping-family=(int)255, stream-count=(int)2,
coupled-count=(int)0, channel-mapping=(int)< 0, 1 >,
streamheader=(buffer)< 4f707573486561640102380180bb00000000ff02000001,
4f707573546167731e000000456e636f6465642077697468204753747265616d6572206f707573656e630000000001
>
0:00:00.024848868  9634 0x557628662770 WARN                wavparse
gstwavparse.c:2297:gst_wavparse_loop:<wavparse0> error: Internal data
stream error.
0:00:00.024857880  9634 0x557628662770 WARN                wavparse
gstwavparse.c:2297:gst_wavparse_loop:<wavparse0> error: streaming
stopped, reason not-negotiated (-4)
0:00:00.024883981  9634 0x557628662770 WARN                   queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: Internal data
stream error.
0:00:00.024889814  9634 0x557628662770 WARN                   queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: streaming
stopped, reason not-negotiated (-4)
0:00:00.024903241  9634 0x557628662770 WARN                   queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue1> error: Internal data
stream error.
0:00:00.024907897  9634 0x557628662770 WARN                   queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue1> error: streaming
stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0:
Internal data stream error.
Additional debug info:
gstwavparse.c(2297): gst_wavparse_loop ():
/GstPipeline:pipeline0/GstWavParse:wavparse0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...


More information about the gstreamer-devel mailing list