IPTV Australia (5 Viewers)

Stepko

Retired Team Member
  • Premium Supporter
  • September 29, 2007
    186
    152
    Hamburg/Wolfsburg
    Home Country
    Germany Germany
    AW: Re: IPTV Australia

    @Stepko: why is it necessary to remove and re-add the source filter when the graph is stopped or started? That seems *really* bad!
    I don' think that it is really necessary to remove and re-add the filter. Not from the filters point of view, the filter should also work without removing/re-adding. But of course I didn't test that. Did this change for DVB-c/s/t in the last year of MP development? Then the DVB-IP part was probably forgotten.

    Why is it so bad to remove and re-add the filter? Is it only because of better zapping times? Zapping time on my system with dvb-ip is <1 sec.

    2. Logs from another user showing successful IPTV tuning.
    Please find attached two log files. scan.zip contains log while doing a successful scan with one dvb-ip channel. tune.zip contains logs showing successful IPTV tuning.

    Stepko
     

    Attachments

    • scan.zip
      1.8 KB
    • tune.zip
      4.1 KB

    Ausdigital

    Portal Pro
    September 17, 2008
    122
    5
    Home Country
    1. MediaPortal logs from Ausdigital showing what happens when you attempt to play the TS file as a TS (failure) and as an MP4.

    Attached are the logs of the same file captured by the mpiptvsource file created by Stepko both as a .ts and .mp4
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Thank you to both of you for the logs :D

    I'll analyse them and get back to you...
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Okay Ausdigital, lets start with the scan issue (I apologise in advance if this gets a little technical)...

    From Stepko's logs:
    Code:
    30-01-2011 22:09:43.57 PatParser:Reset(0)
    30-01-2011 22:09:43.57 NIT:Reset
    30-01-2011 22:09:43.57 PatParser::Reset done
    [B]30-01-2011 22:09:43.67 PatParser: Added pmt parser for pmt: 0x33 sid: 0x445c[/B]
    30-01-2011 22:09:48.67 Scanner finished. Triggering callback
    30-01-2011 22:09:48.67    0)  p:HanseNet        s:SAT1                       onid:   1 tsid: 3e9 sid:445c major:  0 minor:  0 freq:  0 type:  1 pmt:  33 othermux:0 freeca:0 hasVideo:1 hasAudio:1
    30-01-2011 22:09:48.77 PatParser:Reset(0)
    30-01-2011 22:09:48.77 NIT:Reset
    30-01-2011 22:09:48.77 PatParser::Reset done

    The important difference is the line that I marked in bold. It is possible that the PMT PID or SID (things that identify "channels") that are broadcasted by TPG are ignored by TsWriter. I've attached a debug version of TsWriter that will tell us if TsWriter is receiving any PAT sections (PAT should contain a sort of list of the channels that are being broadcast).

    Please do the following:
    1. Stop TV Server.
    2. Take a backup of the TsWriter.ax in your TV Server install folder.
    3. Download and extract the TsWriter.ax attached to this post into your TV Server install folder.
    4. Delete your TV Server log files (C:\Documents and Settings\All Users\Application Data\Team MediaPortal\MediaPortal TV Server\log).
    5. Start TV Server.
    6. Scan for channels.
    7. Post the TV Server logs here.

    Don't expect any miracles yet - this debug version will only get me more information to help me figure out what is going wrong with the scan.

    Thanks for your persistence :D

    p.s. The TS/MP4 playback logs that you posted were *TV Server* logs rather than the MediaPortal client logs that I needed. Don't worry about that for the moment. I don't know the MediaPortal [client] code as well as I know the TV Server code and I expect that the scanning and playback problems could very well be related.
     

    Attachments

    • TsWriter[TPG_IPTV_debug].zip
      120.2 KB

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Re: AW: Re: IPTV Australia

    Thanks again for your logs Stepko :)

    @Stepko: why is it necessary to remove and re-add the source filter when the graph is stopped or started? That seems *really* bad!
    I don' think that it is really necessary to remove and re-add the filter. Not from the filters point of view, the filter should also work without removing/re-adding. But of course I didn't test that. Did this change for DVB-c/s/t in the last year of MP development? Then the DVB-IP part was probably forgotten.
    No I don't think there was any similar change for other DVB protocols and it looks like mikeyko committed the original DVB-IP support code that way. At some point when I have more time I would like to see if we can do something about this...

    Why is it so bad to remove and re-add the filter? Is it only because of better zapping times? Zapping time on my system with dvb-ip is <1 sec.
    I guess "bad" is stronger than I intended. It is certainly "strange" since none of the other DVB protocols remove and re-add source filters. The DVB-IP looks like it does things slightly differently to the other DVB-X code, and that makes it difficult to maintain...
     

    Ausdigital

    Portal Pro
    September 17, 2008
    122
    5
    Home Country
    Please do the following:
    1. Stop TV Server.
    2. Take a backup of the TsWriter.ax in your TV Server install folder.
    3. Download and extract the TsWriter.ax attached to this post into your TV Server install folder.
    4. Delete your TV Server log files (C:\Documents and Settings\All Users\Application Data\Team MediaPortal\MediaPortal TV Server\log).
    5. Start TV Server.
    6. Scan for channels.
    7. Post the TV Server logs here.

    Attached as requested.

    Thanks,

    Ausdigital.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Cheers for the logs Ausdigital :)

    Well there's some good news, and there's some bad news. The good news is that I think I know what the problem is. The bad news is that although I can probably build you a patch that would pick up channels, the chances of that patch ever being integrated into MediaPortal are basically zero...

    If you look at the TsWriter log that you posted you'll see the following section:

    Code:
    01-02-2011 19:27:53.765 CMpTsFilter::Run()
    01-02-2011 19:27:55.796 PatParser:Reset(0)
    01-02-2011 19:27:55.796 NIT:Reset
    01-02-2011 19:27:55.796 PatParser::Reset done
    01-02-2011 19:27:55.828 debug: table id 0
    01-02-2011 19:27:55.843 debug: SID=1, PMT PID=10
    01-02-2011 19:27:56.93 debug: table id 0
    01-02-2011 19:27:56.93 debug: SID=1, PMT PID=10
    01-02-2011 19:27:56.343 debug: table id 0
    01-02-2011 19:27:56.343 debug: SID=1, PMT PID=10
    01-02-2011 19:27:56.593 debug: table id 0
    01-02-2011 19:27:56.593 debug: SID=1, PMT PID=10
    01-02-2011 19:27:56.843 debug: table id 0
    01-02-2011 19:27:56.843 debug: SID=1, PMT PID=10
    01-02-2011 19:27:57.93 debug: table id 0
    01-02-2011 19:27:57.93 debug: SID=1, PMT PID=10
    01-02-2011 19:27:57.343 debug: table id 0
    01-02-2011 19:27:57.343 debug: SID=1, PMT PID=10
    01-02-2011 19:27:57.593 debug: table id 0
    01-02-2011 19:27:57.593 debug: SID=1, PMT PID=10
    01-02-2011 19:27:57.843 debug: table id 0
    01-02-2011 19:27:57.843 debug: SID=1, PMT PID=10
    01-02-2011 19:27:58.109 debug: table id 0
    01-02-2011 19:27:58.109 debug: SID=1, PMT PID=10
    01-02-2011 19:27:58.343 debug: table id 0
    01-02-2011 19:27:58.359 debug: SID=1, PMT PID=10
    01-02-2011 19:27:58.593 debug: table id 0
    01-02-2011 19:27:58.609 debug: SID=1, PMT PID=10
    01-02-2011 19:27:58.859 debug: table id 0
    01-02-2011 19:27:58.859 debug: SID=1, PMT PID=10
    01-02-2011 19:27:59.109 debug: table id 0
    01-02-2011 19:27:59.125 debug: SID=1, PMT PID=10
    01-02-2011 19:27:59.375 debug: table id 0
    01-02-2011 19:27:59.375 debug: SID=1, PMT PID=10
    01-02-2011 19:27:59.625 debug: table id 0
    01-02-2011 19:27:59.625 debug: SID=1, PMT PID=10
    01-02-2011 19:27:59.875 debug: table id 0
    01-02-2011 19:27:59.875 debug: SID=1, PMT PID=10
    01-02-2011 19:28:00.125 debug: table id 0
    01-02-2011 19:28:00.125 debug: SID=1, PMT PID=10
    01-02-2011 19:28:00.375 debug: table id 0
    01-02-2011 19:28:00.375 debug: SID=1, PMT PID=10
    01-02-2011 19:28:00.625 debug: table id 0
    01-02-2011 19:28:00.625 debug: SID=1, PMT PID=10
    01-02-2011 19:28:00.796 Scanner finished. Triggering callback
    01-02-2011 19:28:00.812 PatParser:Reset(0)
    01-02-2011 19:28:00.812 NIT:Reset
    01-02-2011 19:28:00.812 PatParser::Reset done
    01-02-2011 19:28:00.843 del m_pVideoAnalyzer
    01-02-2011 19:28:00.843 analyzer: reset
    01-02-2011 19:28:00.843 del m_pPmtGrabber
    01-02-2011 19:28:00.859 del m_pRecorder
    01-02-2011 19:28:00.859 del m_pTimeShifting
    01-02-2011 19:28:00.859 del m_pTeletextGrabber
    01-02-2011 19:28:00.859 del m_pCaGrabber
    01-02-2011 19:28:00.859 del done...
    01-02-2011 19:28:00.906 CMpTsFilter::Pause()
    01-02-2011 19:28:00.906 CMpTsFilter::Stop()

    Briefly, it seems that there is only one PMT PID in the stream, and that is PID 0x10 (16). If you remember back to the first page of this thread you might recall that you posted the following information that was supplied by TPG:

    Program Number = 1
    PMT Pid = 0x10 / 16
    Video, PCR Pid = 0xe0 / 224
    Audio Pid = 0xc0 / 192

    The following next following things are no longer relavant.

    Networkid
    Transportid
    Serviceid

    So the TsWriter log confirms that there is indeed a PMT PID of 0x10 like TPG says...

    What is the problem with this I hear you ask?
    The issue is that the MPEG 2 part 1 (transport stream) standard reserves a few specific PIDs for specific functions. PID 0x10 is one of those reserved PIDs. According to MPEG 2 part 1:

    0x0 = programme application table (PAT)
    0x1 = conditional access table (CAT)
    0x10 = network information table (NIT)
    0x11 = service descriptor table (SDT)
    0x12 = event information table (EIT)

    So as you can see, PID 0x10 is reserved for another function. TPG does not appear to be abiding by the rules of MPEG 2 part 1...

    Okay, before I get too far ahead of myself, let me post you another TsWriter build that ignores the fact that 0x10 is reserved. I'd expect the channel to be picked up with a scan with this new build. I'm not sure that you'd be able to watch the channel as there may be issues in TsReader that would have to be hacked around (probably the reason why the file didn't play when it was given a TS extension). Let me know how this works for you (same installation and testing instructions, although if the channel is picked up it would be good to know if you can actually view it as well).
     

    Attachments

    • TsWriter(v1.0)[TPG_IPTV_scan].zip
      120.2 KB

    riksmith

    Portal Pro
    April 18, 2009
    1,856
    322
    Home Country
    Netherlands Netherlands
    Hold on, the 0x10 of the NIT you are talking about is NOT the PID of the PMT you are talking about.

    The 0x10 of the NIT refers to the table_id. The 0x10 of the PMT refers to the ID of the PMT.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Hmm, okay... I thought that all PIDs were TS packet PIDs.
    If you're right then do you know why would there be a check requiring the PMT PID to be > 0x12?

    P.S. We really need those MPEG specs again ;)

    Edit:

    I may want to put my foot in my mouth in a minute, but Wikipedia:

    Each of the programs listed in PAT has an associated value of PID for its Program Map Table (PMT).

    The value 0x0000 of program_number is reserved to specify the PID where to look for Network Information Table (NIT). If such a program is not present in PAT the default PID value (0x0010) shall be used for NIT.

    TS Packets containing PAT information always have PID 0x0000.

    FYI: the code that I'm examining is in the PAT parser class (OnNewSection)...
     

    riksmith

    Portal Pro
    April 18, 2009
    1,856
    322
    Home Country
    Netherlands Netherlands
    Edit: I think in misunderstood the logging. I will have to further think about it.

    And yes: We need the specs.
     

    Users who are viewing this thread

    Top Bottom