initial support for Hauppuage HD-PVR (2 Viewers)

ajp8164

Portal Pro
January 9, 2008
575
1,166
Atlanta, GA
Home Country
United States of America United States of America
Re: AcrSoftVideoDecoder - Attempted to read or write protected memory

I just installed an updated MP from SVN (post RC1) and I am getting a failure with the ArcSoftVideoDecoder as below. I have attached logs.

Anyone seen anything like this? Was working fine prior to updating MP. It works with CoreAVC but I get an unbelievable number of late frames and the video and audio goes out of sync very quickly.

TSReaderPlayer: Exception while creating DShow graph Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: ArcSoft Video Decoder, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: Video Mixing Renderer 9, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: TsReader, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.546875 [ERROR][MPMain(1)]: TSReaderPlayer:GetInterfaces() failed

In looking through the code and doing some simple debugging I see that this problem arises from a call to render the graph for the video connection pin (not sure if I am saying that correctly). The exception comes out of the highlighted line below (which calls into Render(ppinOut) inside the ArcSoft Video Decoder AX driver). Not sure what is new in MP that is causing this...

Code:
    public static void RenderUnconnectedOutputPins(IGraphBuilder graphBuilder, IBaseFilter baseFilter)
    {
      if (baseFilter == null)
        return;

      int fetched;
      IEnumPins pinEnum;
      int hr = baseFilter.EnumPins(out pinEnum);
      DsError.ThrowExceptionForHR(hr);
      if (hr == 0 && pinEnum != null)
      {
        pinEnum.Reset();
        IPin[] pins = new IPin[1];
        while (pinEnum.Next(1, pins, out fetched) == 0 && fetched > 0)
        {
          PinDirection pinDir;
          pins[0].QueryDirection(out pinDir);
          if (pinDir == PinDirection.Output && !HasConnection(pins[0]))
          {
            FilterInfo i;
            PinInfo pinInfo;
            string pinName = string.Empty;
            if (baseFilter.QueryFilterInfo(out i) == 0)
            {
              if (pins[0].QueryPinInfo(out pinInfo) == 0)
              {
                Log.Debug("Filter: {0} - try to connect: {1}", i.achName, pinInfo.name);
                pinName = pinInfo.name;
                DsUtils.FreePinInfo(pinInfo);
              }
            }

            ReleaseComObject(i.pGraph);            
            [COLOR="Red"][B]hr = graphBuilder.Render(pins[0]);[/B][/COLOR]
            if (hr != 0)
              Log.Debug(" - failed");
          }
          ReleaseComObject(pins[0]);
        }
        ReleaseComObject(pinEnum);
      }
    }
 

ajp8164

Portal Pro
January 9, 2008
575
1,166
Atlanta, GA
Home Country
United States of America United States of America
Re: AcrSoftVideoDecoder - Attempted to read or write protected memory

I just installed an updated MP from SVN (post RC1) and I am getting a failure with the ArcSoftVideoDecoder as below. I have attached logs.

Anyone seen anything like this? Was working fine prior to updating MP. It works with CoreAVC but I get an unbelievable number of late frames and the video and audio goes out of sync very quickly.

TSReaderPlayer: Exception while creating DShow graph Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: ArcSoft Video Decoder, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: Video Mixing Renderer 9, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.453125 [ERROR][MPMain(1)]: Remove of filter: TsReader, failed with code (HR): 0, explanation: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2010-03-13 18:00:14.546875 [ERROR][MPMain(1)]: TSReaderPlayer:GetInterfaces() failed

In looking through the code and doing some simple debugging I see that this problem arises from a call to render the graph for the video connection pin (not sure if I am saying that correctly). The exception comes out of the highlighted line below (which calls into Render(ppinOut) inside the ArcSoft Video Decoder AX driver). Not sure what is new in MP that is causing this...

Code:
    public static void RenderUnconnectedOutputPins(IGraphBuilder graphBuilder, IBaseFilter baseFilter)
    {
      if (baseFilter == null)
        return;

      int fetched;
      IEnumPins pinEnum;
      int hr = baseFilter.EnumPins(out pinEnum);
      DsError.ThrowExceptionForHR(hr);
      if (hr == 0 && pinEnum != null)
      {
        pinEnum.Reset();
        IPin[] pins = new IPin[1];
        while (pinEnum.Next(1, pins, out fetched) == 0 && fetched > 0)
        {
          PinDirection pinDir;
          pins[0].QueryDirection(out pinDir);
          if (pinDir == PinDirection.Output && !HasConnection(pins[0]))
          {
            FilterInfo i;
            PinInfo pinInfo;
            string pinName = string.Empty;
            if (baseFilter.QueryFilterInfo(out i) == 0)
            {
              if (pins[0].QueryPinInfo(out pinInfo) == 0)
              {
                Log.Debug("Filter: {0} - try to connect: {1}", i.achName, pinInfo.name);
                pinName = pinInfo.name;
                DsUtils.FreePinInfo(pinInfo);
              }
            }

            ReleaseComObject(i.pGraph);            
            [COLOR="Red"][B]hr = graphBuilder.Render(pins[0]);[/B][/COLOR]
            if (hr != 0)
              Log.Debug(" - failed");
          }
          ReleaseComObject(pins[0]);
        }
        ReleaseComObject(pinEnum);
      }
    }

Problem solved with an updated build. See https://forum.team-mediaportal.com/showthread.php?p=594337#post594337
 

WileECoyote

MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    Hey Guys,
    I did a fresh build of two client machines over the weekend and struggled (as I always have) with getting the proper codecs to work. Then I discovered a link to a codec pack in another forum...

    Im not sure if anyone has tried these codecs (Shark007.net - Windows 7 Codecs - WMP12 Codecs), but I tried them last night and they work great! In the past I have tried several Codec packs, SAF, and the Arcsoft Codecs, but this (along with turning RTSP off) has my clients working fast, smooth and crystal clear. I was so amazed that I removed all the other codecs and it still worked great (along with Haali Media Splitter.) I updated my Media Server with the same and it too looks clearer, the dark scenes especially.

    I don't highly recommend very many products, but this I would stand by... If your building a new client try them out and see what you think.

    Wile E.
     

    mguebert

    Portal Pro
    February 9, 2010
    82
    10
    Home Country
    United States of America United States of America
    I also have had good experiences with Sharks codecs, however I have to disable haali on my system, otherwise MKV's will stutter horribly. I also will get stutter if I try and use the .ts file with 4tr.
     

    mdg78

    Portal Member
    February 23, 2009
    49
    2
    Providence, RI
    Home Country
    United States of America United States of America
    I don't know if I should post this here or somewhere else, but I'll try here first. How many people are using comskip with the HD-PVR? I assume that most people with HD-PVR are in the US (as evidenced by most poster's flags). I just got comskip and am setting it up to work with FTR and my HD-PVR. Could someone post a good working comskip.ini file? Also, does anyone have any input on how long comskip normally takes to run on their system for a 1hr HD program? Finally, is anyone doing any encoding in the postprocessing or just using the .ts file? if you are encoding, what are you using as your encoder?

    My ideal is to get FTR to cut out commercials and encode to say mkv in postprocessing and get the file into MyTVSeries. I have series/episode number working (I think) with disaster123's episodescanner. It's just cutting the commercials that I'm working on now.

    Thanks for any help you can offer,
    Michael
     

    DreadFury

    Portal Pro
    June 28, 2009
    252
    14
    Home Country
    United States of America United States of America
    I have been unable to get comskip to even detect commercials on my HD-PVR.
    Have you been able for it to even detect commercials for you at all??
    I always get an error and gave up awhile ago as it always gave some cryptic error and couldn't detect correctly.
    (It did work for my analog and ATSC/QAM cards, just not with HD-PVR)

    The comskip support forum said I should donate to get a special version which MIGHT work but they couldn't help any more.

    I for one, find the idea of donating to a piece of software, which doesn't work for me, so that MAYBE it MIGHT work, very unsavory.
    If I could be assured it did work, or had the OPTION of donating instead of being strong armed into a gamble, it would be a different story.
     

    sjeffrey

    Portal Pro
    August 22, 2008
    232
    7
    Canada
    Home Country
    Canada Canada
    I also donated over 1 year ago and it did work. I haven't been using in for a while though since I completely reinstalled everything and just got to lazy to do the comskip setup.
    About re-encoding, my initial vision was to record, cut commercials, re-encode and archive all my shows. Well after countless hours of cursing and banging my head I gave up. Back then there wasn't any good h.264 TS editors and I just about always had issues with audio sync after cutting commercials. I ended up just using the TS with the comskip files and MP would automatically skip. Another thing is I think broadcasters have gotten smarter and use tricks to get around things like comskip. What I mean is when you setup comskip you have to set values to help it identify when it's a show and when it's a commercial. Things like logo display could be assumed as your show and not be cut out. Well some channels now have the damn logo show up during or between commercials which tricks comskip. You can fix that by changing your settings but you'll ultimately endup with a config file for each channel or show. This was too much effort for me at the time and I just decided to walk away from it...

    Oh and you other question about how long for 1h HD, I think roughly it was about the same time as the recording. For sure it wasn't very fast. Perhaps there developer has optimized the code to run faster since I looked at it. I sure hope so...
     

    mdg78

    Portal Member
    February 23, 2009
    49
    2
    Providence, RI
    Home Country
    United States of America United States of America
    For me, it works on my recordings, but needs minor tuning. I did donate to get the h264 version, which you need for the HD-PVR recordings. It doesn't always recognize the show previews that occur after a block of commercials just prior to resuming the episode. Is anyone cutting the commercials out and/or encoding to a smaller file?

    Garry- are you using the stock ini file that comes with comskip or have you tuned it some? do you mind PM'ing me your comskip.ini if you have tuned it or attach it to a post?

    sjeffery-sorry you posted while I was writing this. I have it set to run while FTR is recording. It does a decent job, but finishes about 20 min after. When I run comskip independently, I get about 20-22fps on a 30fps recording, so about 1:20 for a 1hr program, which initially I thought was pretty slow, but if it can do it while recording, thats not that bad. I think the problem is that it will only utilize one core, so I have a quad core processor, it only uses 25% cpu to scan. According to the comskip forums, erik doesn't know why.

    Thanks,
    Michael
     

    Users who are viewing this thread

    Top Bottom