[mythtv] Feature patch #12168 - Extend IPTV recorder to support TS streams over HTTP

Torbjorn Jansson torbjorn.jansson at mbox200.swipnet.se
Sat Jun 21 12:33:06 UTC 2014

On 2014-06-10 20:54, Torbjorn Jansson wrote:
> On 2014-06-09 09:52, Lincoln Rogers wrote:
>> Hi Devs,
>> Re: https://code.mythtv.org/trac/ticket/12168
>> 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.
>> 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.
>> The only issue I am currently aware of (and would like to discuss) is
>> this:
>> 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.
>> 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?
> interesting, i will take a look at this in the near future.
> i also made a similar addition for 0.26 but due to the changes in 0.27
> it doesnt work any more and i havent had enough time to understand fully
> how it works now.
> i have 2 dvb boxes i can test it with, both based on enigma2

i've started to test this against 0.27 fixes and it doesn't work due to 
the serviceid (program number) not being setup properly.
this was part of my old patch.

when the backend tries to tune into the http ts stream it fails with:
DTVSigMon[3](): Program #0 not found in PAT!

last time i had to extend iptv channel fetcher so it parsed 
#EXTVLCOPT:program= from the m3u file and put that in the serviceid 
field in the channel table.
i think this may have already been comited to master but not entirely 
sure, i know i had some discussion with dekarl about this part.

i've added this parsing manually for testing but there is one piece i 
dont know where it is now and that is the part where SetDTVInfo is 
called with a proper service id instead of a zero.
i think something needs to be changed in DTVChannel::SetChannelByString

More information about the mythtv-dev mailing list