<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 9, 2014 at 3:52 AM, Lincoln Rogers <span dir="ltr">&lt;<a href="mailto:lincoln@performaplus.co.nz" target="_blank">lincoln@performaplus.co.nz</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Hi Devs,<br></div><div><div><br></div>
<div>Re: <a href="https://code.mythtv.org/trac/ticket/12168" target="_blank">https://code.mythtv.org/trac/ticket/12168</a></div><div><br></div><div>I have created a feature patch for my work extending the IPTV recorder to support TS streams over HTTP such as those from a dreambox. </div>

<div><br></div><div>It applies cleanly to fixes/0.27 and I was wondering if there is a developer who has some time to look at this as. It requires no new dependencies and it extends the IPTVStreamHander class with some other small modifications to a number of other classes. It should not affect HLS as it differentiates between HLS playlists and video streams.</div>

<div><br></div><div>The only issue I am currently aware of (and would like to discuss) is this:</div><div><br></div><div>To differentiate between http-hls and http-ts, I added a enum (rdp, rtp, rtsp, http_hls, http_ts) to iptvtuningdata.h. Tuningdata is populated by ChannelUtil::GetIPTVTuningData so I added to that to populate it with a type. </div>

<div><br></div><div>UDP, RTP, RTSP and HTTP are determined by the URL prefix, and HLS and TS are differentiated by downloading a limited sample of the URL to check if it is an HLS playlist or a HTTP_TS video stream. Rather than duplicating code I have used HLSReader::IsValidPlaylist to test this, but this makes channelutil dependent on the HLSReader class. Is this ok?<br>
</div></div></div></blockquote><div><br></div><div><br></div><div>It would be better to move IsValidPlaylist to a common ancestor.  There is some duplicated HLS/playlist code between the HLS &#39;player&#39; and the &#39;recorder&#39;.  When I re-did the recorder I chose to duplicate it to make sure I didn&#39;t break anything in the player, but it really should be move to a place where it can be commonly used.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div>
</div><div>Additionally, this patch also adds a new Myth System Event for channel lock timeout so that a user can specify a script to reboot their stb (mine occasionally freezes).<br></div><div><br></div></div>
<div>Would love to see this committed so please let me know if there are problems.</div><div><br></div><div>Cheers,</div><div><br></div><div>Lincoln.</div></div>
</blockquote></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Thank you for your work on this.  I will try to take a look at it in the near future.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
John</div><div class="gmail_extra"><br></div></div>