[Approved] Fix for stuttering/corrupted streaming of live tv

pilehave

Community Skin Designer
  • Premium Supporter
  • April 2, 2008
    2,566
    113
    Hornslet
    while CPU is idle try and do a simple copy-paste operation of a bigger file (on the server). Then watch CPU usage.
    It should be very low when doing this file copy.

    If u r running PIO then cpu usage would rise very quickly.

    This is how I often test these things.

    /gibman
    Copy/paste runs at ~ 1-7% CPU. Mostly in the lower spectrum of the percentage.

    This evening I recorded and watched a LOT at the same time, and I only saw one pixellation flaw. I had minor stutter, but could rewind and the place it stuttered was gone.

    Is there a way to see the number of read/write cycles, and not just the data size?
     

    mylle

    Portal Pro
    April 14, 2005
    574
    28
    Denmark
    Re: AW: Fix for stuttering/corrupted streaming of live tv

    hi miroslav22 since your patch my biggest problem is this:
    Code:
    26-12-2010 22:25:49.298 [e78]FileReader::Read() no open file
    26-12-2010 22:25:49.298 [e78]READ FAILED1
    26-12-2010 22:25:49.319 [d08]SEEK FAILED
    26-12-2010 22:25:49.319 [d08]FileReader::Read() no open file
    26-12-2010 22:25:49.319 [d08]READ FAILED1
    26-12-2010 22:25:49.339 [e78]SEEK FAILED
    26-12-2010 22:25:49.339 [e78]FileReader::Read() no open file
    26-12-2010 22:25:49.339 [e78]READ FAILED1
    26-12-2010 22:25:49.357 [d08]SEEK FAILED
    26-12-2010 22:25:49.358 [d08]FileReader::Read() no open file
    26-12-2010 22:25:49.358 [d08]READ FAILED1
    26-12-2010 22:25:49.377 [d08]SEEK FAILED
    26-12-2010 22:25:49.378 [d08]FileReader::Read() no open file
    26-12-2010 22:25:49.378 [d08]READ FAILED1
    26-12-2010 22:25:49.401 [e78]SEEK FAILED
    26-12-2010 22:25:49.402 [e78]FileReader::Read() no open file
    26-12-2010 22:25:49.402 [e78]READ FAILED1
    26-12-2010 22:25:49.419 [d08]SEEK FAILED
    26-12-2010 22:25:49.419 [d08]FileReader::Read() no open file
    26-12-2010 22:25:49.420 [d08]READ FAILED1
    26-12-2010 22:25:49.441 [e78]SEEK FAILED
    26-12-2010 22:25:49.442 [e78]FileReader::Read() no open file
    26-12-2010 22:25:49.442 [e78]READ FAILED1
    26-12-2010 22:25:49.460 [d08]SEEK FAILED
    26-12-2010 22:25:49.460 [d08]FileReader::Read() no open file
    26-12-2010 22:25:49.461 [d08]READ FAILED1
    Full log file can be found here:
    TsReader-2010-12-26.Log

    Stefan
    I have had this issue forever. Cannot figure out why :(
     

    mm1352000

    Development Group
  • Team MediaPortal
  • September 1, 2008
    21,541
    113
    Country flag
    while CPU is idle try and do a simple copy-paste operation of a bigger file (on the server). Then watch CPU usage.
    It should be very low when doing this file copy.

    If u r running PIO then cpu usage would rise very quickly.

    This is how I often test these things.

    /gibman
    Copy/paste runs at ~ 1-7% CPU. Mostly in the lower spectrum of the percentage.

    This evening I recorded and watched a LOT at the same time, and I only saw one pixellation flaw. I had minor stutter, but could rewind and the place it stuttered was gone.

    Is there a way to see the number of read/write cycles, and not just the data size?
    Hi again Pilehave

    Well, you have systematically ruled out all the potential problems I proposed. Those are certainly the most common issues. The only other things I would ask are:

    1. Is the WD green 1TB also your OS drive?
    2. Is anything else happening in the system when you do the recording (virus scan etc. - I know you've probably thought of this already, but I thought it was best to ask anyway)?
    3. When you're not recording, what does HD Tune (or any other decent HDD benchmark tool) report about the sequential read and write, random read and write, and access time for the drive?
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    113
    To help troubleshooting it would be good to add some logging in FileReader::OpenFile()

    Code:
    LogDebug("FileReader::OpenFile(), open file %ws failed.", pFileName);
    DWORD dwErr = GetLastError();
    return HRESULT_FROM_WIN32(dwErr);
    Log as well the dwErr so we can see why the file open fails.
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,546
    83
    AW: Re: Fix for stuttering/corrupted streaming of live tv

    To help troubleshooting it would be good to add some logging in FileReader::OpenFile()

    Code:
    LogDebug("FileReader::OpenFile(), open file %ws failed.", pFileName);
    DWORD dwErr = GetLastError();
    return HRESULT_FROM_WIN32(dwErr);
    Log as well the dwErr so we can see why the file open fails.
    Will do this but shouldn't something like that standard?
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    113
    Re: AW: Re: Fix for stuttering/corrupted streaming of live tv

    To help troubleshooting it would be good to add some logging in FileReader::OpenFile()

    Code:
    LogDebug("FileReader::OpenFile(), open file %ws failed.", pFileName);
    DWORD dwErr = GetLastError();
    return HRESULT_FROM_WIN32(dwErr);
    Log as well the dwErr so we can see why the file open fails.
    Will do this but shouldn't something like that standard?
    Yes, it should. There is no point in logging the errors without error codes if those are known / available since those will help hunting down the bugs / issues.
     

    robyf

    Retired Team Member
  • Premium Supporter
  • June 20, 2005
    1,076
    63
    48
    Bolzano
    I'm currently testing this. Hoped it will take to 0 my rare frame drops in HDTV, but it seems I have no visible enhancement with this patch (probably because I timeshift on a SSD drive).

    I will report if I will find any issue.
     

    Mr Hipp

    Retired Team Member
  • Premium Supporter
  • April 2, 2006
    1,261
    63
    52
    Malmö
    I have done some test in single seat and with this patch timeshifting sometimes stops. I think it because tsreader detects a EOF becuase Tswrite has not yet written its buffers to the db. I will test with other values of # of buffers to see if it fixes it.
     

    Users Who Are Viewing This Thread (Users: 0, Guests: 1)

    Top Bottom