Hauppauge HD-PVR & Colossus Support (4 Viewers)

WileECoyote

MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    mm,
    The PID has changed for the audio & video. The new PID for Video is 0x1011 (which was the old PID for audio) and the new audio PID is 0x1100. (see the attached screenshot of the graph.)

    I'm sure you can produce a patch quicker than I can, so if you want to post an update I will add a link to the first post.

    Thanks mm!
     

    Attachments

    • Colossus.png
      Colossus.png
      170.7 KB

    WileECoyote

    MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    mm,
    Okay, I created a patch and attached it to the first post. I also included the dll for folks that want to try the new dll with the latest Colossus driver (29168).

    The PMT_PID changed from 0x20 to 0x100 (which was also the HD-PVR PMT PID, so all I did was comment out the check for the Colossus.)

    Take a look at the patch and let me know if you have any questions.

    Wile E.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Hi WileECoyote

    Right, so the PMT PID has changed from 0x20 to 0x100. That actually kinda makes sense because the SID and PMT PID are now the same as the HDPVR. I'm at work right now (and will be for another 6-7 hours), so it might be quicker for you to build the patch. Having said that, I'm more than happy to do it as soon as I get home. We have two options:

    1. Just take out the following code in the HDPVRChannel constructor:

    Code:
          if (deviceType.Equals("Colossus"))
          {
            PMT_PID = 0x20;
          }

    2. Take out the code in the constructor as above, and also change the SetupPmtGrabber() call from:

    Code:
    SetupPmtGrabber(PMT_PID, SERVICE_ID);

    to

    Code:
    SetupPmtGrabber(0, SERVICE_ID);

    The second call should theoretically always lookup the correct PMT PID, so it may be more robust if Hauppauge decided to make changes like this again in the future. I get the feeling that wouldn't be too likely now, but you never know. I should say that looking up the PMT PID will be a tad slower and should *definitely* be tested (with changing from channel to channel, start-stop-start-stop-start TV testing...).

    Votes either way?

    mm
    PS: I'm interested to know what service 0 is. Any idea?

    [Edit: looks like you beat me to it. :)]
     

    WileECoyote

    MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    Hi WileECoyote

    Right, so the PMT PID has changed from 0x20 to 0x100. That actually kinda makes sense because the SID and PMT PID are now the same as the HDPVR. I'm at work right now (and will be for another 6-7 hours), so it might be quicker for you to build the patch. Having said that, I'm more than happy to do it as soon as I get home. We have two options:

    1. Just take out the following code in the HDPVRChannel constructor:

    Code:
          if (deviceType.Equals("Colossus"))
          {
            PMT_PID = 0x20;
          }

    Already done, and it works fine :) I attached the patch on the first post.

    2. Take out the code in the constructor as above, and also change the SetupPmtGrabber() call from:

    Code:
    SetupPmtGrabber(PMT_PID, SERVICE_ID);

    to

    Code:
    SetupPmtGrabber(0, SERVICE_ID);

    The second call should theoretically always lookup the correct PMT PID, so it may be more robust if Hauppauge decided to make changes like this again in the future. I get the feeling that wouldn't be too likely now, but you never know. I should say that looking up the PMT PID will be a tad slower and should *definitely* be tested (with changing from channel to channel, start-stop-start-stop-start TV testing...).

    Votes either way?

    mm

    I will wait and let you make these changes :) I have some recordings starting in 25 minutes and would be killed if they are missed... lol

    PS: I'm interested to know what service 0 is. Any idea?

    [Edit: looks like you beat me to it. :)]

    None... When I clicked on the Service 0, nothing was displayed. Maybe the old 0x20 reference?
     

    WileECoyote

    MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    Okay mm,
    I was able to get the other change made and I created a new patch & dll file. Both are attached in the zip on the first post.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    @All,
    Please use the dll on the first post ONLY if you are using the latest Colossus driver.

    ...although if you added the second change (passed 0 to SetupPmtGrabber()) then it should work for both drivers, and it would be a good test of the code. That is the point of looking up the PMT PID - that it would be more robust to those changes. :)

    mm
     

    WileECoyote

    MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    ...although if you added the second change (passed 0 to SetupPmtGrabber()) then it should work for both drivers, and it would be a good test of the code. That is the point of looking up the PMT PID - that it would be more robust to those changes. :)

    mm

    I will let someone else try it on the older drivers. :)

    I always have a hell of a time getting the new drivers installed. It always updates the Encoder Device but blows away the Capture Device. Then I have to spend 20 minutes uninstalling, installing manually, etc to get the right combination. Meanwhile bluescreening the machine (2 times tonight.) :mad:

    So I am going to skip the rollback since the new one is working well :)

    Edit: I removed the warning from the first post and my post above.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    No worries! :)
    Is it any faster/slower at tuning/channel-changing (that you notice) with the second patch? It is always interesting trying to gauge how well a change works when you don't have hardware! ;)

    mm
     

    WileECoyote

    MP Donator
  • Premium Supporter
  • October 14, 2008
    1,156
    220
    Cary, NC
    Home Country
    United States of America United States of America
    No worries! :)
    Is it any faster/slower at tuning/channel-changing (that you notice) with the second patch? It is always interesting trying to gauge how well a change works when you don't have hardware! ;)

    mm

    I did notice that the tune-start/channel-changes were faster with the first patch, but I was unsure if it was the recent changes made to the TV Server (by the dev group) or the new Hauppauge driver. As for a change between the first patch & the second Im unsure. Maybe this weekend I can run some logs for you (first patch compared to the second.)
     

    op48mo1

    Portal Member
    July 12, 2011
    5
    0
    Hi. Forgive me if this is a noob question, but I was hoping someone could shed some light on the following exception that is keeping the TV service from initializing with my card:

    2011-07-11 23:10:34.961412 [TVService(6)]: Detecting Cards
    2011-07-11 23:10:34.961412 [TVService(6)]: Detected IP TV Card 0
    2011-07-11 23:10:34.977012 [TVService(6)]: Detected Hauppauge Colossus
    2011-07-11 23:10:35.008212 [TVService(6)]: Found card:hauppauge hd pvr software tuner
    2011-07-11 23:10:35.023812 [TVService(6)]: Detected DVB card:hauppauge hd pvr software tuner
    2011-07-11 23:10:35.023812 [TVService(6)]: Detecting type by MSNP 0: dc65aa02-5cb0-4d6d-a020-68702a5b34b8
    2011-07-11 23:10:35.023812 [TVService(6)]: TvControllerException: System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
    at DirectShowLib.IBaseFilter.EnumPins(IEnumPins& ppEnum)
    at DirectShowLib.DsFindPin.ByDirection(IBaseFilter vSource, PinDirection vDir, Int32 iIndex)
    at TvLibrary.Implementations.TvCardCollection.DetectCards()
    at TvLibrary.Implementations.TvCardCollection..ctor(IEpgEvents epgEvents)
    at TvService.TVController.InitController()
    at DirectShowLib.IBaseFilter.EnumPins(IEnumPins& ppEnum)
    at DirectShowLib.DsFindPin.ByDirection(IBaseFilter vSource, PinDirection vDir, Int32 iIndex)
    at TvLibrary.Implementations.TvCardCollection.DetectCards()
    at TvLibrary.Implementations.TvCardCollection..ctor(IEpgEvents epgEvents)
    at TvService.TVController.InitController()
    2011-07-11 23:10:35.023812 [TVService(6)]: Controller: DeInit.

    Thanks very much in advance for any help you can provide.

    I should add that I am using driver 29168 and have patched the DLLs in the TV server directory according to instructions, including the TVLibrary.dll version for this driver.

    -Henry
     

    Users who are viewing this thread

    Top Bottom