EPG grab dont stop after timout (1 Viewer)

Flocke

Portal Pro
October 3, 2006
70
0
Germany
Home Country
Germany Germany
EPG Grab dont stop after timeout and hangs:

Code:
10.06.2007 11:32:43 5 Epg: card:2 timeout after 2,15598958333333 mins
10.06.2007 11:33:13 5 Epg: card:2 timeout after 2,65598958333333 mins
10.06.2007 11:33:43 A Epg: card:2 timeout after 3,15598958333333 mins
10.06.2007 11:34:13 A Epg: card:2 timeout after 3,65598958333333 mins
10.06.2007 11:34:43 5 Epg: card:2 timeout after 4,15598958333333 mins
10.06.2007 11:35:13 A Epg: card:2 timeout after 4,65598958333333 mins
10.06.2007 11:35:43 5 Epg: card:2 timeout after 5,15598958333333 mins
10.06.2007 11:36:13 5 Epg: card:2 timeout after 5,65598958333333 mins
10.06.2007 11:36:43 5 Epg: card:2 timeout after 6,15598958333333 mins
10.06.2007 11:37:13 A Epg: card:2 timeout after 6,65598958333333 mins
10.06.2007 11:37:43 A Epg: card:2 timeout after 7,15598958333333 mins
10.06.2007 11:38:13 A Epg: card:2 timeout after 7,65598958333333 mins
10.06.2007 11:38:43 5 Epg: card:2 timeout after 8,15598958333333 mins
10.06.2007 11:39:13 A Epg: card:2 timeout after 8,65598958333333 mins
10.06.2007 11:39:43 5 Epg: card:2 timeout after 9,15598958333333 mins
10.06.2007 11:40:13 5 Epg: card:2 timeout after 9,65598958333333 mins
10.06.2007 11:40:43 5 Epg: card:2 timeout after 10,1559895833333 mins
10.06.2007 11:41:13 5 Epg: card:2 timeout after 10,6559895833333 mins
10.06.2007 11:41:43 5 Epg: card:2 timeout after 11,1559895833333 mins
10.06.2007 11:42:13 A Epg: card:2 timeout after 11,6559895833333 mins
10.06.2007 11:42:43 5 Epg: card:2 timeout after 12,1559895833333 mins
10.06.2007 11:43:13 A Epg: card:2 timeout after 12,6559895833333 mins
10.06.2007 11:43:43 A Epg: card:2 timeout after 13,1559895833333 mins
10.06.2007 11:44:13 A Epg: card:2 timeout after 13,6559895833333 mins
10.06.2007 11:44:43 A Epg: card:2 timeout after 14,1559895833333 mins
10.06.2007 11:45:13 5 Epg: card:2 timeout after 14,6559895833333 mins
10.06.2007 11:45:43 5 Epg: card:2 timeout after 15,1559895833333 mins
10.06.2007 11:46:13 A Epg: card:2 timeout after 15,6559895833333 mins
10.06.2007 11:46:43 A Epg: card:2 timeout after 16,1559895833333 mins
10.06.2007 11:47:13 5 Epg: card:2 timeout after 16,6559895833333 mins
10.06.2007 11:47:43 5 Epg: card:2 timeout after 17,1559895833333 mins

timeoutsettings inTVServer: 2 Minutes
 

Muldini

Retired Team Member
  • Premium Supporter
  • February 11, 2007
    206
    0
    Home Country
    Germany Germany
    Can confirm the issue for latest build on DVB-S.



    TV-Server Version: latest Version (Single Seat)
    MediaPortal Version: MP 0.2.3.0 + latest SVN
    MediaPortal Skin: Blue Two
    Windows Version: Windows XP SP2
    CPU Type: AMD Athlon64 X2 3800+ EE
    HDD: Maxtor 40 GB
    Memory: 2x 512MB Corsair DDR2 800MHz
    Motherboard: Asus M2N DH
    Motherboard Chipset: Nvidia NF430
    Motherboard Bios:
    Video Card: Sapphire Ati X550
    Video Card Driver: Catalyst 7.4
    Sound Card: ADI 6-channel High Definition Audio CODEC
    Sound Card AC3: coaxial out
    Sound Card Driver:
    1. TV Card: Technotrend S-1500
    1. TV Card Type: DVB-S
    1. TV Card Driver: 5.0.0.1_beta
    MPEG2 Video Codec: nVidia PureVideo
    MPEG2 Audio Codec: nVidia PureVideo
    Satelite/CableTV Provider: Astra 19.2°E
    HTPC Case: Silverstone LaScala LC17
    Cooling: Zalman 9500 AM2
    Power Supply: SeaSonic M12-500
    Remote: Logitech Keyb
    TV: Amoi Elite LC42T1E
    TV - HTPC Connection: DVI -> HDMI
     

    Nosh

    Portal Member
    February 9, 2006
    30
    0
    Heidelberg
    Home Country
    Germany Germany
    I have the same problem. It could be introduced by a fix from gemx at 2007-04-18 "Fixed EPG infos were not stored to db if a timeout occured".
    Now the info is stored at timeout but if a transponder doesn't have epg data it gets in an endless loop.

    There is a comment in the source code: "/// Aborts grabbing the epg. This also triggers the OnEpgReceived callback." But I can not find where AbortGrabbing triggers OnEpgReceived.

    I have tried to include OnEpgReceived in AbortGrabbing but TsWriter needs include files from an ancient DirectX SDK.
     

    gemx

    Retired Team Member
  • Premium Supporter
  • October 31, 2006
    1,972
    539
    Home Country
    Germany Germany
    Thanks. Will have a look at it.
     

    gemx

    Retired Team Member
  • Premium Supporter
  • October 31, 2006
    1,972
    539
    Home Country
    Germany Germany
    Hmm, can't find any problem in the sources.
    For me it works.
    Please provide all TvServer logs.

    There is a comment in the source code: "/// Aborts grabbing the epg. This also triggers the OnEpgReceived callback." But I can not find where AbortGrabbing triggers OnEpgReceived.
    This is triggered indirectly.
    If a timeout occures (see the code snippet below from EpgCard.cs) "AbortEPGGrabbing" is called which in the end calls "void CEpgDecoder::AbortGrabbing()" of TsWriter.
    "CEpgDecoder::AbortGrabbing()" sets the "m_bEpgDone" boolean to true which then triggers the "OnEpgReceived" event.
    Kinda weird, but that's how things work ;)

    Code:
    EpgCard.cs
                Log.Epg("Epg: card:{0} timeout after {1} mins", _user.CardId, ts.TotalMinutes);
                _tvController.AbortEPGGrabbing(_user.CardId);

    Code:
    epgDecoder.cpp
    
    void CEpgDecoder::AbortGrabbing()
    {
    	CEnterCriticalSection lock (m_critSection);
    	m_bParseEPG=false;
    	m_bEpgDone=true;
    }
     

    Nosh

    Portal Member
    February 9, 2006
    30
    0
    Heidelberg
    Home Country
    Germany Germany
    TV-Server Version: Revision 15317
    MediaPortal Version: Revision 15317
    MediaPortal Skin: BlueTwo
    Windows Version: MCE 2005
    CPU Type: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
    HDD: Samsung SP2504C
    Memory: 3GB
    Motherboard: ASUS P5WDG2 WS PRO
    Motherboard Chipset: Intel(R) 975X
    Motherboard Bios: 0805
    Video Card: Radeon X1600
    Video Card Driver: Catalyst 7-6
    Sound Card: Creative X-Fi Fatal1ty
    Sound Card Driver: 2.09.0007
    1. TV Card: Technotrend 1500
    1. TV Card Type: DVB-C
    1. TV Card Driver: 5.0.0.2
    MPEG2 Video Codec:
    MPEG2 Audio Codec:
    Satelite/CableTV Provider: KabelBW

    Hello gemx,

    thank you very much for looking into this.

    "CEpgDecoder::AbortGrabbing()" sets the "m_bEpgDone" boolean to true which then triggers the "OnEpgReceived" event.

    Could you please explain how this works?
    I can only see that OnEpgReceiced is called in CEpgScanner::OnTsPacket. But m_bGrabbing is false (m_bEpgDone==true -> IsEpgReady() -> m_bGrabbing=false) and so it returns at the beginning of OnTsPacket. Even it was true if returns at "if (!IsEIT_PID(pid))" when no epg data is on the transponder.

    I have currently no mediaportal installed, I will install it and when the error occures I send the logs this evening.
     

    gemx

    Retired Team Member
  • Premium Supporter
  • October 31, 2006
    1,972
    539
    Home Country
    Germany Germany
    You were right.
    If the transponder doesn't have a single epg info, then the grabber indeed enters an infinite loop.
    Just committed the fix, but at the moment there is a header file missing to built the filter. As soon as it is available i will report back.
    Thanks for your findings :)
     

    Users who are viewing this thread

    Top Bottom