<div dir="auto"><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">Hi There,</p><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">I am creating an application for viewing camera feeds by creating an ABR ladder for the requested resolution dynamically. The following is pipeline I have that is static</p><pre style="margin-top:0px;border:0px;vertical-align:baseline;width:auto;max-height:600px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;white-space:inherit">gst-launch-<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">1.0</span> hlssink2 name=ingest1 playlist-location=live/stream.m3u8 location=live/segment%d.ts max-files=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">10</span> target-duration=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">2</span> \
 rtspsrc location=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">"rtsp://myrtspcamurl:554/"</span> name=rtspsrc<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">0</span><span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">" \
 rtspsrc0. ! rtph264depay ! tee name=t \
 t. ! queue ! ingest1.video \
 t. ! queue ! decodebin ! tee name=decode_t \
   decode_t. ! queue ! videorate ! videoscale ! video/x-raw,framerate=2/1,width=240,height=240 ! videoconvert ! jpegenc ! multifilesink location=stills/stills%d.jpg \
   decode_t. ! queue ! videoscale ! video/x-raw,width=640,height=360 ! openh264enc ! hlssink2 location=360/segment%d.ts playlist-location=360/stream.m3u8
</span></code></pre><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">I am trying to programmatically add the following dynamic encoder pipeline like below</p><pre style="margin-top:0px;border:0px;vertical-align:baseline;width:auto;max-height:600px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;white-space:inherit"> <span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">decode_t</span>. ! queue ! videoscale ! video/x-raw,width=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">854</span>,height=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">480</span> ! openh264enc ! hlssink2 location=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">480</span>/segment%d.ts playlist-location=<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:13px;vertical-align:baseline">480</span>/stream.m3u8
</code></pre><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">To add this pipeline I get a new src pad from the <code style="margin:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;vertical-align:baseline;white-space:pre-wrap">decode_t</code> tee and set <code style="margin:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;vertical-align:baseline;white-space:pre-wrap">BLOCK_DOWNSTREAM</code>. It all works fine.</p><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">The issue I am having is:</p><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">When the pipeline runs for sometime ingesting the video and when I start a new encoder pipeline, it blocks the other 360p ladder until the segment count of this new hlsink2(480p) comes to the same number as the 360p.</p><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">Hence the stream.m3u8 of both the streams are unusable until then. It almost seems like it is trying to sync the pipeline run time.</p><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">Is there a workaround for this? Am I supposed to be setting some parameters? I have a working version of this in rust and is reproducible. The code is in github -> <a href="https://github.com/ggovindan/abr_ladder" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline" target="_blank" rel="noreferrer">https://github.com/ggovindan/abr_ladder</a></p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">I really appreciate any help in this!!</p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">Best regards</p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)"><br></p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)">Guru</p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)"><br></p><p style="margin:0px;padding:0px;border:0px;line-height:inherit;font-family:-apple-system,blinkmacsystemfont,"segoe ui adjusted","segoe ui","liberation sans",sans-serif;font-size:18.217px;vertical-align:baseline;color:rgb(35,38,41);background-color:rgb(255,255,255)"><br></p></div>