<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Daniel<div class=""><br class=""></div><div class="">Full disclosure first: I’m one of gstd developers. </div><div class=""><br class=""></div><div class="">The way I see it is that there are some use cases where Gstreamer Daemon may save you a lot of development time, and there are other applications where you are way better off with plain GStreamer API.</div><div class=""><br class=""></div><div class="">Gstd abstracts a lot of boilerplate low-level code, exposing instead a set of simpler high-level TCP commands. The tradeoff is, of course, that you give up a lot of flexibility. If your pipelines are fixed (do not grow or shrink) in their lifetime Gstd may help you. On the other hand, if you have a dynamic pipeline, with more sophisticated stream handling, Gstd definitely falls short.</div><div class=""><br class=""></div><div class="">We like to think of Gstd as a gst-launch-1.0 under steroids. Besides creating and playing pipelines, you can query/set properties at runtime, check for bus messages, listen to element signals (limited though), etc…  Again, I’d like to insist in that it’s not suitable for all applications. Internally, we handle both approaches: for simpler, static media servers we use gstd, for complex highly dynamic media servers we use GStreamer API instead. Another big use we give to Gstd is to automate testing. Since it is controlled via TCP commands, the test can be controlled from a host PC while everything is running on an embedded platform, for example...</div><div class=""><br class=""></div><div class="">Long story short, my rule of thumb is:</div><div class="">Whatever pipeline that can be built and played using gst-launch-1.0 can be properly handled by Gstreamer Daemon.</div><div class=""><br class=""></div><div class="">Michael</div><div class=""><a href="http://www.ridgerun.com" class="">www.ridgerun.com</a></div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 6, 2019, at 8:30 AM, Daniel Rossi <<a href="mailto:electroteque@gmail.com" class="">electroteque@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">I'm looking into this project to start and monitor for 24/7 receiver purposes. In my case SRT. I have to use sources for SRT functionality and having difficulty getting it installed right now and finding the prefix path. It might be suitable ? I've yet to test it. <br class=""><br class=""><a href="https://github.com/RidgeRun/gstd-1.x" class="">https://github.com/RidgeRun/gstd-1.x</a></div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">------ Original Message ------</div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">From: "Jorne De Smedt | IndigoCare" <<a href="mailto:Jorne.DeSmedt@indigocare.com" class="">Jorne.DeSmedt@indigocare.com</a>></div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">To: "<a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a>" <<a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a>></div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Sent: 8/6/2019 6:17:22 PM</div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Subject: How to restart a pipeline after network connection loss?</div><div style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><div id="x5af34df2914540e" style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote cite="x-msg://1/00D147B94EDE724C900EA24AE70257989F1DDE@dcb14.dcbad.local" type="cite" class="cite2" style="margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right: 0px; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 3px; padding-top: 0px;"><div class="WordSection1" style="page: WordSection1;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Hello,<o:p xmlns:o="#unknown" class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p xmlns:o="#unknown" class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">I’ve been trying to get an rtsp stream working on Android, based on the tutorials.<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Now, the basic stream itself works, but whenever the stream is lost (due to network issues or other reasons), the stream just pauses and I can’t seem to figure out how to restart it without restarting the app. (Sometimes it also shows a “no signal” screen, but I’m unsure if this is part of gstreamer or the source.)<br class="">There’s also a light issue that whenever the stream is just a slideshow of static images, it gets stuck on the first frame (unless you put an animation in there somewhere, like a single animated slide or animated pixel). I’m unsure if this is related to the previous issue<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><br class="">The goal is to have the app display the stream 24/7, so it should try to reconnect until it finds the stream again.<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><o:p xmlns:o="#unknown" class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">I’m currently using the following pipeline:<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">"rtspsrc name=source location=<a href="rtsp://192.168.30.4:554/0" class="">rtsp://192.168.30.4:554/0</a><span class="Apple-converted-space"> </span>! rtph264depay ! h264parse ! decodebin name=convert ! glimagesink"<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><o:p xmlns:o="#unknown" class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Which seems to do the same as the previous one I used:<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">"uridecodebin name=source ! videoconvert name=convert ! glimagesink"<o:p xmlns:o="#unknown" class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><o:p xmlns:o="#unknown" class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">What is the right way to restart a pipeline like this?<o:p xmlns:o="#unknown" class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Do I need to use a dynamic pipeline instead of one like this?<o:p xmlns:o="#unknown" class=""></o:p></span></div></div></blockquote></div><span style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">_______________________________________________</span><br style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">gstreamer-devel mailing list</span><br style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="mailto:gstreamer-devel@lists.freedesktop.org" style="font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">gstreamer-devel@lists.freedesktop.org</a><br style="caret-color: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" style="font-family: "Segoe UI"; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div></blockquote></div><br class=""></div></body></html>