<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Nirbheek,<div class=""><br class=""></div><div class="">Thanks for the suggestion!</div><div class=""><br class=""></div><div class="">I started to change my implementation based on your suggestions, when I noticed a strange thing that I cannot understand.</div><div class=""><br class=""></div><div class="">It was enough to just add the the <span style="color: rgb(162, 86, 55); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);" class="">audiomixer</span> into the pipeline and the halting issue not occurs anymore (I can stop the audio sending during recording or dont event start it and the video is recorded properly, without the sound of course)</div><div class=""><br class=""></div><div class="">This is how my pipeline looks now:</div><div class=""><br class=""></div><div class=""><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">udpsrc multicast-group=<DCL_FILEWRITER_UDP_SOURCE_IP> auto-multicast=true port=<DCL_FILEWRITER_UDP_SOURCE_PORT></span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        ! application/x-rtp,media=video,encoding-name=VP8,payload=96 ! rtpjitterbuffer ! rtpvp8depay ! tee name=video_stream_spilt</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        udpsrc port=<DCL_FILEWRITER_UDP_AUDIO_SOURCE_PORT></span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        ! application/x-rtp,media=audio,clock-rate=44100,encoding-name=L24,encoding-params=1,channels=1,payload=96,ssrc=687131883,timestamp-offset=3784732336,seqnum-offset=8272</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        ! rtpL24depay ! audioconvert</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        </span><span style="color: rgb(162, 86, 55);" class="">! audiomixer name=audio_mixer</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        ! audioresample ! queue name=file_sink_audio_queue ! voaacenc ! video_mux.</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        video_stream_spilt. ! queue name=file_sink_video_queue ! omxvp8dec ! videoconvert ! omxh264enc bitrate=<DCL_RECORD_VIDEO_BITRATE> control-rate=2 insert-sps-pps=true ! matroskamux name=video_mux</span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        ! filesink name=file_sink location=<DCL_FILEWRITER_INITIAL_TEMP_FILE_NAME></span></div><div class="" style="caret-color: rgb(54, 54, 54); color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);"><span class="" style="color: rgb(162, 86, 55);">        video_stream_spilt. ! fakesink</span></div></div><div class=""><div><br class=""></div><div>The only thing I changed is the addition of <span style="caret-color: rgb(54, 54, 54); color: rgb(162, 86, 55); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);" class="">audiomixer</span> in between the <span style="caret-color: rgb(54, 54, 54); color: rgb(162, 86, 55); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);" class="">audioconvert</span> and the <span style="caret-color: rgb(54, 54, 54); color: rgb(162, 86, 55); font-family: Menlo, Monaco, "Courier New", monospace; font-size: 10px; font-weight: 800; white-space: pre; background-color: rgb(255, 255, 255);" class="">audioresample</span> elements.</div><div><br class=""></div><div>Can you think of any logical explanation for this? I mean since Im not aware of the internals I'm afraid that I dont see something and this simple "<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">solution</span>" has some drawbacks.</div><div><br class=""></div><div>Bests,</div><div>Peter </div><div><br class=""><blockquote type="cite" class=""><div class="">On 2022. Mar 21., at 20:11, Nirbheek Chauhan <<a href="mailto:nirbheek.chauhan@gmail.com" class="">nirbheek.chauhan@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Sat, Mar 19, 2022 at 9:15 PM Peter Biro via gstreamer-devel<br class=""><<a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br class=""><blockquote type="cite" class="">I want to improve the reliability by making the file writing continuous regardless if I have the audio or not (by making the audio is optional). I already tried to add an audio mixer which would mix a muted audio stream (audiotestsrc wave=silence) but that adds extra resource usage and I feel that its more like a workaround since the root cause is that the muxer is waiting for the audio stream.<br class=""><br class=""></blockquote><br class="">This is actually the correct solution. You can eliminate most of the<br class="">overhead by muting the audiomixer sinkpad on which silence is<br class="">arriving.<br class=""><br class="">I don't know if the matroska format supports GAP-like instructions for<br class="">audio or video, but I would imagine it's unlikely.<br class=""><br class="">Cheers,<br class="">Nirbheek<br class=""></div></div></blockquote></div><br class=""></div></body></html>