<div dir="auto">This log snippet does not give much. information. Could you please share the full log?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 15 Jul, 2023, 14:00 GST Developer, <<a href="mailto:gstreamer@gallery.co.uk">gstreamer@gallery.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-break:after-white-space">Thanks for your reply.<div><br></div><div>Sadly, this doesn't change the behaviour - when attempting to send video *and* audio, it stalls after “Redistribute latency…”</div><div><br></div><div><i>So, Just video works:</i></div><div><b>gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay !   'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' !   whip.  whipsink name=whip   auth-token=“…redacted….."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" rel="noreferrer noreferrer noreferrer" target="_blank">https://director.millicast.com/api/whip/myStreamName</a>”</b></div><div><br></div><div><br></div><div>and If I try *just* audio:</div><div><b>gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.audio ! queue ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2'  !  whip.  whipsink name=whip   auth-token=“...redacted..."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" target="_blank" rel="noreferrer">https://director.millicast.com/api/whip/myStreamName</a>”</b></div><div>This also works !</div><div><br></div><div>but when I try to combine them : </div><div><br></div><div><b style="font-size:12.8px">gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay !   'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' !  whip.  demux.audio ! queue ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2'  !  whipsink name=whip   auth-token="…redacted….."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" rel="noreferrer noreferrer" style="text-decoration:none;color:rgb(66,133,244)" target="_blank">https://director.millicast.com/api/whip/myStreamName</a>”</b></div><div><b style="font-size:12.8px"><br></b></div><div>
<div>it stalls after “Redistribute latency…”</div><div><br></div><div>This does feel like some sort of demux deadlock between the ndisrcdemux and the whipsink.  I have pasted the debug output for the stall loop below, which repeats over and over:</div><div><div><br></div><div>0:00:19.425157202  9470 0x557d29708a00 TRACE              structure gststructure.c:292:gst_structure_new_id_empty_with_size: created structure 0x557d298c1aa0</div><div>0:00:19.425181034  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'long-name'</div><div>0:00:19.433174494  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div>0:00:19.433194340  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'klass'</div><div>0:00:19.433204782  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div>0:00:19.433216613  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'description'</div><div>0:00:19.433223154  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div>0:00:19.433232379  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'author'</div><div>0:00:19.433246113  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div>0:00:19.433254115  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:627:gst_registry_chunks_load_feature: Element factory : npadtemplates=2</div><div>0:00:19.433261379  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:526:gst_registry_chunks_load_pad_template: Reading/casting for GstRegistryChunkPadTemplate at address 0x7f3208f72f30</div><div>0:00:19.433271543  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:540:gst_registry_chunks_load_pad_template: Added pad_template src</div><div>0:00:19.433279923  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:526:gst_registry_chunks_load_pad_template: Reading/casting for GstRegistryChunkPadTemplate at address 0x7f3208f72fb0</div><div>0:00:19.433289253  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:540:gst_registry_chunks_load_pad_template: Added pad_template sink</div><div>0:00:19.433302373  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistry.c:592:gst_registry_add_feature:<registry0> adding feature 0x557d298bf6d0 (avdec_wmavoice)</div><div>0:00:19.433311993  9470 0x557d29708a00 DEBUG        GST_REFCOUNTING gstobject.c:708:gst_object_set_parent:<avdec_wmavoice> set parent (ref and sink)</div><div>0:00:19.433322596  9470 0x557d29708a00 TRACE        GST_REFCOUNTING gstobject.c:292:gst_object_ref_sink:<avdec_wmavoice> 0x557d298bf6d0 ref_sink 1->2</div><div>0:00:19.433330585  9470 0x557d29708a00 LOG             GST_REGISTRY gstregistry.c:610:gst_registry_add_feature:<registry0> emitting feature-added for avdec_wmavoice</div><div>0:00:19.433341108  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:741:gst_registry_chunks_load_feature: Added feature avdec_wmavoice, plugin 0x557d298724d0 libav</div><div>0:00:19.433350373  9470 0x557d29708a00 DEBUG           GST_REGISTRY gstregistrychunks.c:583:gst_registry_chunks_load_feature: Plugin 'libav' feature 'avdec_ws_snd1' typename : 'GstElementFactory'</div><div>0:00:19.433362464  9470 0x557d29708a00 TRACE        GST_REFCOUNTING gstobject.c:208:gst_object_init:<GstObject@0x557d298c2050> 0x557d298c2050 new</div><div>0:00:19.433374983  9470 0x557d29708a00 LOG             GST_REGISTRY gstregistrychunks.c:610:gst_registry_chunks_load_feature: Reading/casting for GstRegistryChunkElementFactory at address 0x7f3208f72ff0</div><div>0:00:19.433385348  9470 0x557d29708a00 TRACE              structure gststructure.c:292:gst_structure_new_id_empty_with_size: created structure 0x557d298c1e40</div><div>0:00:19.433394095  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'long-name'</div><div>0:00:19.433402420  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div>0:00:19.433411420  9470 0x557d29708a00 DEBUG              structure gststructure.c:2258:gst_structure_parse_field: trying field name 'klass'</div><div>0:00:19.433419783  9470 0x557d29708a00 DEBUG                default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'</div><div><br></div><div><br></div></div><div><br></div><div><br><blockquote type="cite"><div>On 15 Jul 2023, at 01:17, Tarun Tej K <<a href="mailto:tarun4690@gmail.com" target="_blank" rel="noreferrer">tarun4690@gmail.com</a>> wrote:</div><br><div><div dir="auto"><div>Hi,</div><div dir="auto"><div dir="auto"><br></div><div dir="auto">What is the idea behind fixing the sink pad number i.e., sink_0 to video and sink_1 to audio ? The pads would be linked dynamically anyway.</div><div dir="auto"><br></div><div dir="auto">Can you try the below modified pipeline. I have also added a queue in audio branch after demux.</div><div dir="auto"><div dir="auto"><br></div><div dir="auto"><b style="font-size:12.8px">gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay !   'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' !  whip. demux.audio ! queue ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2'  !  whipsink name=whip   auth-token="…redacted….."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" style="text-decoration-line:none;color:rgb(66,133,244)" rel="noreferrer noreferrer" target="_blank">https://director.millicast.com/api/whip/myStreamName</a>”</b><br></div></div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sat, 15 Jul, 2023, 03:30 GST Developer via gstreamer-devel, <<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-break:after-white-space"><div>Hi Folks.</div><div><br></div><div>I am attempting use gstreamer to send content from an NDI Source to a WHIP end point at Dolby.io.</div><div><br></div><div>If I just send VIDEO, its working fine:</div><div><br></div><div><b>gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay !   'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' !   whip.sink_0 whipsink name=whip   auth-token=“…redacted….."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" rel="noreferrer noreferrer noreferrer" target="_blank">https://director.millicast.com/api/whip/myStreamName</a>”</b></div><div><br></div><div><b>This works FINE !! we get the signal to the WHIP server and the end to end latency is about 2 seconds.</b></div><div><br></div><div>Now I want to add AUDIO to that pipeline, and I am trying: </div><div><br></div><b>gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" !  ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay !   'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' !  whip.sink_0 demux.audio ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2'  ! whip.sink_1  whipsink name=whip   auth-token="…redacted….."  whip-endpoint="<a href="https://director.millicast.com/api/whip/myStreamName" rel="noreferrer noreferrer noreferrer" target="_blank">https://director.millicast.com/api/whip/myStreamName</a>”</b><div><br></div><div>Now, it starts up with:</div><div><br></div><div><div>Setting pipeline to PAUSED ...</div><div>Pipeline is live and does not need PREROLL ...</div><div>Pipeline is PREROLLED ...</div><div>Setting pipeline to PLAYING ...</div><div>New clock: GstSystemClock</div><div>Redistribute latency...</div><div>Redistribute latency...</div><div>Redistribute latency…</div></div><div><br></div><div><b>But it stalls right there, and never gets to counting time, and we dont see anything arrive at the WHIP server.</b></div><div><br></div><div style="font-size:15px"><i>Might anyone know what I am doing wrong ?</i></div><div><br></div><div>Many thanks !!!</div><div><br></div><div><br></div><div><br></div></div></blockquote></div></div></div>
</div></blockquote></div><br></div></div></blockquote></div>