<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Aug 3, 2016 at 7:19 PM, John P Poet <span dir="ltr"><<a href="mailto:jppoet@gmail.com" target="_blank">jppoet@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="h5">On Tue, Aug 2, 2016 at 10:26 PM Marc Rawji <<a href="mailto:mrawji@gmail.com" target="_blank">mrawji@gmail.com</a>> wrote:<br></div></div><div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello (again),<div><br></div><div>I am trying to write an external recorder. I don't quite understand the message flow that I am seeing in my recorder. I am seeing a StartStreaming, followed by a StropStreaming, then a StartStreaming, then it streams to the frontend.</div><div><br></div><div>See my annotated and trimmed logs (removed Calls with no impact on the streaming, and the many many SendBytes):</div><div><div>2016-08-01 22:13:01,922 root        : DEBUG received TuneChannel:2<br></div><div>2016-08-01 22:13:01,975 root        : DEBUG received StartStreaming<br></div><div><div>2016-08-01 22:13:04,788 root        : DEBUG returning OK:Started  //Took approx 3 seconds to start getting data</div><div>2016-08-01 22:13:04,790 root        : DEBUG received SendBytes<br></div><div>2016-08-01 22:13:04,877 root        : DEBUG returning OK              //Sending 1 SendBytes of data to STDOUT</div></div><div>2016-08-01 22:13:04,895 root        : DEBUG received StopStreaming // as soon as i start sending data, i get a StopStreaming<br></div><div><div>2016-08-01 22:13:05,899 root        : DEBUG returning OK:Stopped</div></div><div>2016-08-01 22:13:06,007 root        : DEBUG received StartStreaming // as soon as it stops, then it asks me to start it again<br></div></div><div><div>2016-08-01 22:13:08,423 root        : DEBUG returning OK:Started // takes 2.5 seconds to start getting data</div><div>2016-08-01 22:13:08,430 root        : DEBUG received SendBytes  // we now send data<br></div><div>2016-08-01 22:13:08,602 root        : DEBUG returning OK<br></div></div><div><send bytes is repeated and I see data on frontend></div><div><br></div><div>On the backend, i only see this in the same time period:</div><div><div>2016-08-01 22:13:01.933523 N  ApplyRecordRecGroupChange: LiveTV to LiveTV (2)</div><div>2016-08-01 22:13:05.955482 N  AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min</div><div>2016-08-01 22:13:05.957646 W  LoadFromProgram(): SQL contains LIMIT clause, caller should be updated to use limit parameter instead</div><div>2016-08-01 22:13:05.969135 N  ApplyRecordRecGroupChange: LiveTV to LiveTV (2)</div><div>2016-08-01 22:13:05.969857 I  TVRec[1]: TuningNewRecorder - CreateRecorder()</div><div>2016-08-01 22:13:05.971848 E  RecBase[1](/home/mrawji/recorder/record.sh): SetStrOption(...recordingtype): Option not in profile.</div><div>2016-08-01 22:13:05.971860 E  RecBase[1](/home/mrawji/recorder/record.sh): SetIntOption(...recordmpts): Option not in profile.</div></div><div><br></div><div><br></div><div><br></div><div>Does anyone know why I get a Start, followed by a Stop, then another Start? </div><div><br></div><div>Thanks,</div><div>Marc</div><a href="https://forum.mythtv.org" rel="noreferrer" target="_blank"></a></div></blockquote><div> <br></div></div></div><div>Mythbackend first checks to make sure the 'signal' is valid.  I have a dream of changing it to hand off the stream from the SignalMonitor to the Recorder, where it would not Start/Stop/Restart, but that is a major architecture change.<br><br></div><div>When running mythbackend, I would recommend using `-v channel,record` to see more useful information.<span class=""><font color="#888888"><br><br></font></span></div><span class=""><font color="#888888"><div>John<br><br></div></font></span></div></div>
</blockquote></div><br></div><div class="gmail_extra">Thanks so much for the reply. With the more verbose logging, I don't see anything worrisome between the Start and Stop:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">2016-08-03 20:36:57.213675 I  ExternSH(/home/mrawji/recorder/record.sh): ProcessCommand('StartStreaming') = 'OK:Started'</div><div class="gmail_extra">2016-08-03 20:36:57.213695 I  ExternSH(/home/mrawji/recorder/record.sh): Streaming started</div><div class="gmail_extra">2016-08-03 20:36:57.213708 I  ExternSH(/home/mrawji/recorder/record.sh): StartStreaming 1 listeners</div><div class="gmail_extra">2016-08-03 20:36:57.414768 I  TVRec[1]: TuningSignalCheck: Good signal</div><div class="gmail_extra">2016-08-03 20:36:57.414809 I  TVRec[1]: SetRecordingStatus(Unknown->Recording) on line 4023</div><div class="gmail_extra">2016-08-03 20:36:57.414913 I  TVRec[1]: TeardownSignalMonitor() -- begin</div><div class="gmail_extra">2016-08-03 20:36:57.414934 I  ExternSigMon(/home/mrawji/recorder/record.sh): dtor</div><div class="gmail_extra">2016-08-03 20:36:57.414947 I  ExternSigMon(/home/mrawji/recorder/record.sh): Stop() -- begin</div><div class="gmail_extra">2016-08-03 20:36:57.414964 I  ExternSH(/home/mrawji/recorder/record.sh): StopStreaming 1 listeners</div><div class="gmail_extra">2016-08-03 20:36:57.414976 I  ExternSH(/home/mrawji/recorder/record.sh): StopStreaming</div><div class="gmail_extra">2016-08-03 20:36:57.424594 I  ExternSH(/home/mrawji/recorder/record.sh): ProcessCommand('Version?') = 'OK:1.0'</div><div class="gmail_extra">2016-08-03 20:36:58.432030 I  ExternSH(/home/mrawji/recorder/record.sh): ProcessCommand('StopStreaming') = 'OK:Stopped'</div><div class="gmail_extra">2016-08-03 20:36:58.434253 I  ExternSH(/home/mrawji/recorder/record.sh): Streaming stopped</div><div class="gmail_extra">2016-08-03 20:36:58.474514 I  SH(/home/mrawji/recorder/record.sh): RemoveListener(0x7f4574023420) -- begin</div><div class="gmail_extra">2016-08-03 20:36:58.474537 I  SH(/home/mrawji/recorder/record.sh): RemoveListener(0x7f4574023420) -- locked</div><div class="gmail_extra">2016-08-03 20:36:58.475340 I  ExternSH(/home/mrawji/recorder/record.sh): run(): shutdown</div><div class="gmail_extra">2016-08-03 20:36:58.475405 I  ExternSH(/home/mrawji/recorder/record.sh): run(): end</div><div class="gmail_extra">2016-08-03 20:36:58.475540 I  SH(/home/mrawji/recorder/record.sh): RemoveListener(0x7f4574023420) -- end</div><div class="gmail_extra">2016-08-03 20:36:58.475555 I  ExternSigMon(/home/mrawji/recorder/record.sh): Stop() -- end</div><div><br></div></div><div class="gmail_extra">The only error I see before that is:</div><div class="gmail_extra"><div class="gmail_extra">2016-08-03 20:36:54.493505 E  TVRec[1]: Profile 'Live TV' not found, and unable to load fallback profile 'Default'.  Results may be unpredicable</div><div><br></div><div>But, i also see with the second "startStreaming" and then everything "just works".</div><div><br></div><div>Thanks for your help!</div><div>Marc</div><div><br></div><div><br></div></div></div>