SageTV Community  

Go Back   SageTV Community > Information & Announcements > SageTV Downloads & Instructions
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Downloads & Instructions This forum is for discussions containing Downloads and Instructions related to the Open Source version of SageTV. Please do not post questions in this forum.

Reply
 
Thread Tools Search this Thread Display Modes
  #61  
Old 12-04-2018, 04:48 PM
SteveW's Avatar
SteveW SteveW is offline
Sage Aficionado
 
Join Date: Oct 2008
Location: Fall River, Nova Scotia, Canada
Posts: 389
So just to clarify where things are at for the moment, Sage 64 bit does or does not work with USBUIRT and HDPVR’s at the moment?
__________________
Server: Win 10 Pro 64 Bit, Intel i5, 8 GB, Samsung EVO 850 500 GB for OS, WD Black 4 TB + WD Black 1 TB for Recordings, 36TB Synology 1019+ for DVD/Bluray Rips, Music, Home Movies, etc., SageTV Server 64 Bit Ver 9.2.6.976, HDPVR x 2, Bell TV 6131 Receiver x 2, USB-UIRT with 56 KHz Receiver

Clients: PC Client x 2, HD-300 x 2 (1 Using Netgear MoCA Coax Bridges), SageTV Miniclient on NVidia Shield x 3
Reply With Quote
  #62  
Old 12-04-2018, 04:56 PM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by SteveW View Post
So just to clarify where things are at for the moment, Sage 64 bit does or does not work with USBUIRT and HDPVR’s at the moment?
Does not. We should have HDPVR working really soon if it's the "Hauppauge IR blaster" referred to above. You'll have to forgive my ignorance of which vendor builds which hardware and what is needed in SageTV for support. I only run an ATSC HDHR vanilla setup.

USBUIRT is in the works. No ETA yet.
Reply With Quote
  #63  
Old 12-04-2018, 04:59 PM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Quote:
Originally Posted by SteveW View Post
So just to clarify where things are at for the moment, Sage 64 bit does or does not work with USBUIRT and HDPVR’s at the moment?
That right it dose not work with USB-UIRT nor Hauppauge IR blaster
The HDPVR them self do record video with no problem what so ever
Reply With Quote
  #64  
Old 12-04-2018, 06:14 PM
MattHelm MattHelm is offline
Sage Icon
 
Join Date: Jun 2005
Location: Chicago, IL
Posts: 1,209
Shouldn't the iTach IR2IP would on either 32 or 64 systems?
__________________
Server #1= AMD A10-5800, 8G RAM, F2A85-M PRO, 12TB, HDHomerun Prime, HDHR, Colossus (Playback - HD-200)
Server #2= AMD X2 3800+, 2G RAM, M2NPV-VM, 2TB, 3x HDHR OTA (Playback - HD-200)
Reply With Quote
  #65  
Old 12-04-2018, 06:29 PM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by MattHelm View Post
Shouldn't the iTach IR2IP would on either 32 or 64 systems?
I'm not familiar with that one but I'll try to explain generically what should and should not work and why:

Any application that connects to a DLL needs to have a DLL that matches the architecture of the application (i.e. 32-32 or 64-64). The way SageTV supports external tuners is by way of plugin DLL's that reside in SageTV/Common. A few known ones were listed above (Actisys, USB-UIRT and Hauppauge). I've also come to understand there's a more generic one (EXEMultiTunerPlugin) that can call an external EXE with custom parameters. This can support any other device that offers an EXE command line program to operate it. The EXE can still be 32-bit since it runs as a separate process.

As of right now, none of these are in the 64-bit build but I now believe I can build the Hauppauge and EXEMultiTunerPlugin ones with what I have already plus a little effort. Actisys drivers may be available if you contact them and I'm already working on getting one for USB-UIRT.
Reply With Quote
  #66  
Old 12-04-2018, 07:46 PM
Ghildebr Ghildebr is offline
Sage Advanced User
 
Join Date: Dec 2009
Location: Fort Worth, TX
Posts: 157
I did a test install of the x64 bit code on my SageTV server. Prior to doing that I stopped the SageTV 9 Service. I took the default install directories so that I could have both versions installed at the same time. Every time I tried to add a tuner to the x64 bit install I would get an application fault.

Here is the output for when I tried to add the tuner from the SageTV 9 x64 client:

Faulting application name: SageTV.exe, version: 9.2.0.0, time stamp: 0x5c03334c
Faulting module name: ntdll.dll, version: 10.0.14393.2608, time stamp: 0x5bd133d4
Exception code: 0xc0000374
Fault offset: 0x00000000000f7b43
Faulting process id: 0x1440
Faulting application start time: 0x01d48c31d53a12d2
Faulting application path: C:\Program Files\SageTV\SageTV\SageTV.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 5dd02971-ec17-4612-b91a-8ee940c381e4
Faulting package full name:
Faulting package-relative application ID:


Here is the output for when I tried to add the tuner with the x64 SageTV Service running:

Faulting application name: SageTVService.exe, version: 9.2.0.0, time stamp: 0x5c03335b
Faulting module name: ntdll.dll, version: 10.0.14393.2608, time stamp: 0x5bd133d4
Exception code: 0xc0000374
Fault offset: 0x00000000000f7b43
Faulting process id: 0x38d0
Faulting application start time: 0x01d48c3196387c86
Faulting application path: C:\Program Files\SageTV\SageTV\SageTVService.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 55fbf92e-39d5-4e7e-967f-25b7b7c25a72
Faulting package full name:
Faulting package-relative application ID:

It didn't matter whether I was doing it remotely through a Placeshifter client or the SageTV Client. The server itself is headless so I have to configure things remotely in order to get playback with sound and video.

This is running on Windows Server 2016 and has been for quite some time. It works flawless when I use the 32 bit version of Sage. Just a fyi, I moved to Server 2008 R2, then to Server 2012, and finally to Server 2016 for stability reasons. On the Server platform I never have issues. Usually reboot once a month for updates and have as many as 5 clients using the box at the same time. I can't say the same when I was running on XP or Windows 8 for that matter. I never tried 8.1 or 10 because of the stability of the Server product.

Gary

Last edited by Ghildebr; 12-04-2018 at 07:50 PM.
Reply With Quote
  #67  
Old 12-04-2018, 08:13 PM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by wnjj View Post
I'm not familiar with that one but I'll try to explain generically what should and should not work and why:

Any application that connects to a DLL needs to have a DLL that matches the architecture of the application (i.e. 32-32 or 64-64). The way SageTV supports external tuners is by way of plugin DLL's that reside in SageTV/Common. A few known ones were listed above (Actisys, USB-UIRT and Hauppauge). I've also come to understand there's a more generic one (EXEMultiTunerPlugin) that can call an external EXE with custom parameters. This can support any other device that offers an EXE command line program to operate it. The EXE can still be 32-bit since it runs as a separate process.

As of right now, none of these are in the 64-bit build but I now believe I can build the Hauppauge and EXEMultiTunerPlugin ones with what I have already plus a little effort. Actisys drivers may be available if you contact them and I'm already working on getting one for USB-UIRT.
Scratch the Hauppauge off the list...I just figured out that the source code wraps their driver DLL (hcwirblast.dll) which we don't have in 64-bit. Looking at the EXEMultiTunerPlugin one next.

Last edited by wnjj; 12-04-2018 at 08:19 PM.
Reply With Quote
  #68  
Old 12-04-2018, 08:15 PM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by Ghildebr View Post
I did a test install of the x64 bit code on my SageTV server. Prior to doing that I stopped the SageTV 9 Service. I took the default install directories so that I could have both versions installed at the same time. Every time I tried to add a tuner to the x64 bit install I would get an application fault.

Here is the output for when I tried to add the tuner from the SageTV 9 x64 client:

Faulting application name: SageTV.exe, version: 9.2.0.0, time stamp: 0x5c03334c
Faulting module name: ntdll.dll, version: 10.0.14393.2608, time stamp: 0x5bd133d4
Exception code: 0xc0000374
Fault offset: 0x00000000000f7b43
Faulting process id: 0x1440
Faulting application start time: 0x01d48c31d53a12d2
Faulting application path: C:\Program Files\SageTV\SageTV\SageTV.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 5dd02971-ec17-4612-b91a-8ee940c381e4
Faulting package full name:
Faulting package-relative application ID:


Here is the output for when I tried to add the tuner with the x64 SageTV Service running:

Faulting application name: SageTVService.exe, version: 9.2.0.0, time stamp: 0x5c03335b
Faulting module name: ntdll.dll, version: 10.0.14393.2608, time stamp: 0x5bd133d4
Exception code: 0xc0000374
Fault offset: 0x00000000000f7b43
Faulting process id: 0x38d0
Faulting application start time: 0x01d48c3196387c86
Faulting application path: C:\Program Files\SageTV\SageTV\SageTVService.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 55fbf92e-39d5-4e7e-967f-25b7b7c25a72
Faulting package full name:
Faulting package-relative application ID:

It didn't matter whether I was doing it remotely through a Placeshifter client or the SageTV Client. The server itself is headless so I have to configure things remotely in order to get playback with sound and video.

This is running on Windows Server 2016 and has been for quite some time. It works flawless when I use the 32 bit version of Sage. Just a fyi, I moved to Server 2008 R2, then to Server 2012, and finally to Server 2016 for stability reasons. On the Server platform I never have issues. Usually reboot once a month for updates and have as many as 5 clients using the box at the same time. I can't say the same when I was running on XP or Windows 8 for that matter. I never tried 8.1 or 10 because of the stability of the Server product.

Gary
That's certainly troubling and those crash reports are pretty generic. What was the last thing in the sagetv_0.txt log file on the server? Did this happen right when you picked the 'add new source' menu option or when you picked a particular source from the list?
Reply With Quote
  #69  
Old 12-04-2018, 08:42 PM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by davidb View Post
Is the issue with the ethernet channel change the exeMultiTunerPlugin.dll or the dvTune.exe?
If it's the exeMultiTunerPlugin.dll is the source still available? I see Narflex offered to freely give it out on a post from 9/5/2003.

David
So I managed to compile a 64-bit EXEMultiTunerPlugin.dll. It's pretty much the TunerStubDll with 'MacroTune' function defined to call into the exe referenced in the registry. If anyone on here uses that and wants to try, put the attached .DLL into SageTV\Common of your 64-bit install.
Attached Files
File Type: zip EXEMultiTunerPlugin_64bit.zip (8.4 KB, 252 views)

Last edited by wnjj; 12-05-2018 at 12:45 AM.
Reply With Quote
  #70  
Old 12-04-2018, 09:14 PM
Ghildebr Ghildebr is offline
Sage Advanced User
 
Join Date: Dec 2009
Location: Fort Worth, TX
Posts: 157
Quote:
Originally Posted by wnjj View Post
That's certainly troubling and those crash reports are pretty generic. What was the last thing in the sagetv_0.txt log file on the server? Did this happen right when you picked the 'add new source' menu option or when you picked a particular source from the list?
Well after playing with it for over an hour I was finally able to add 1 of my 6 tuners. I had to add that tuner directly from the server but not scan for channels. That tuner now works remotely. I am still unable to add a second tuner without having a crash occur. Here is the file you requested. I hope it sheds some light on the issue.

Error occurs as soon as I pick the Digital Tuner. I am not sure why it worked to add the tuner locally. I have never done that due to the fact that there is no sound card on the server.

Gary
Attached Files
File Type: txt sagetv_0.txt (483.3 KB, 517 views)

Last edited by Ghildebr; 12-04-2018 at 10:06 PM.
Reply With Quote
  #71  
Old 12-04-2018, 09:27 PM
JustFred JustFred is offline
Sage Expert
 
Join Date: May 2015
Location: Sunnyvale, Ca
Posts: 572
I've had a number of issues with the installation of v1.102, but was delaying my report until after I did a Repair of Win7. After seeing Ghildebr's 1st post above, it appears I might not be alone. So here goes some initial observations:

Environment:
OS: Win7pro x64 SP1
Java v1.8u131 32-bit of 20170315 jre-8u131-windows-i586 and
Java v1.8u141 64-bit of 20170718 jre-8u141-windows-x64
Sage v9.1.10 (x86), with its Service disabled.

Installed AC3Filter via command-line (to avoid OpenCandy):
ac3filter_2_6_0b.exe /NOCANDY

Lastly, installed: SageTVSetupx64_9.2.0_beta_1.102.exe
Did this as a fresh install; didn't import any old files from Sage-x86.
Edited registry to increase heap size to 0x800. (Later verified in Sage.)

Started the SageTV64 Service on the above machine.

All further interaction below done is from PlaceShifter (v9.1.10, x86) on another box.

Attempted to add a tuner (Hauppauge HVR-1600)
Source: Hauppauge WinTV 418 TS Capture Digital TV Tuner,
Lineup: Local Over the Air Broadcast - 94086 (sdepg)
Started channel scan:
"Watch request failed. ERROR (-12): There was a null object requested to playback - OK"

2nd attempt to add the same tuner and do a channel scan succeeded.
Channel preview: successful

Attempted to add HDHR tuner :
SageTv64 service (on the server) crashed!

Windows event log (on the server):

Faulting application name: SageTVService.exe, version: 9.2.0.0, time stamp: 0x5c03335b
Faulting module name: ntdll.dll, version: 6.1.7601.24291, time stamp: 0x5be7857f
Exception code: 0xc0000374
Fault offset: 0x00000000000bf302
Faulting process id: 0xd60
Faulting application start time: 0x01d48ab2791cba80
Faulting application path: C:\Program Files\SageTV\SageTV\SageTVService.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 9922dd1e-f6a6-11e8-bfba-001fd0db2e70

Many repeated attempts to add the HDHR tuner result in the same failure.

Back on the server:
Somewhere thru the above process, it appears that something in the Kernel has become corrupt. Attempting to launch other apps that would normally be able to access Hauppauge tuners (Hauppauge WinTv8, Hauppauge Capture) fail. Rebooting the server was needed to allow the Hauppage video apps to access Hauppauge tuners again.

After rebooting the server, I added the following capture devices to Sage:
Hauppauge HVR-2250 (WinTv-7164)
hauppauge HVR-QuadHD (WinTV 885 TS Capture)
Hauppauge HD-PVR

But each time, Sage put up an on-screen error message upon initial install of each device. Without any intervening restart of the OS or Sage, going back into Setup for the device allowed me to finish config. and preview channels without any obvious issues. A superficial check of watching live TV from each configured video source seems to work.

I'm still unable to add the HDHR tuner. The SageTV64 service stops each time.

The sequence of events (performed via PlaceShifter) is:
Please select the input on the Silicondust HDHomeRun Tuner
I select "Digital TV Tuner" and click "Continue".
Progress bar appears: "The Broadcast Standard is being determined".
Several seconds later, the SageTV64 Service dies.

Attempting to access the HDHR tuner via HDHomeRun QuickTV fails: "tuner not available or in use"

See the log file "Crash adding HDHR tuner - sagetv_0.txt"
In the logfile, look around Tue 12/4 19:08:16.869 for the final gasp.
Windows eventlog entry from a previous crash is above.
Attached Files
File Type: zip Crash adding HDHR tuner - sagetv_0.zip (79.1 KB, 224 views)
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200.
System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200.
System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200.

Last edited by JustFred; 12-04-2018 at 09:44 PM. Reason: added missing logfile
Reply With Quote
  #72  
Old 12-05-2018, 12:38 AM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Good info and detail there Fred. Do you happen to see any hs_err_pid* files in the SageTV directory? Those will show up when Java crashes and can often help narrow down where.

Have you tried using an edited 32-bit properties file to see if the HDHR tuners work? This may just be an issue in the setup/scan code.
Reply With Quote
  #73  
Old 12-05-2018, 01:34 AM
JustFred JustFred is offline
Sage Expert
 
Join Date: May 2015
Location: Sunnyvale, Ca
Posts: 572
Quote:
Originally Posted by wnjj View Post
Good info and detail there Fred. Do you happen to see any hs_err_pid* files in the SageTV directory? Those will show up when Java crashes and can often help narrow down where.
No.. none present.

The failures I'm seeing look similar to the the kind of crashes I dealt with in the Native code when I first ported Sage from VS2005 -> VS2015. At that time I fixed a lot of mis-matched memory models used for compiling the various modules. It made for some pretty spectacular Kernal corruption.

Quote:
Have you tried using an edited 32-bit properties file to see if the HDHR tuners work? This may just be an issue in the setup/scan code.
No, I intentionally haven't tried that yet. My goal was to start with a clean install without bringing any old baggage. I'll try "migration" after testing a few more things with the current config.
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200.
System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200.
System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200.
Reply With Quote
  #74  
Old 12-05-2018, 06:25 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Quote:
Originally Posted by wnjj View Post
So I managed to compile a 64-bit EXEMultiTunerPlugin.dll. It's pretty much the TunerStubDll with 'MacroTune' function defined to call into the exe referenced in the registry. If anyone on here uses that and wants to try, put the attached .DLL into SageTV\Common of your 64-bit install.
SageTV see the Plug-in now
Reply With Quote
  #75  
Old 12-05-2018, 07:20 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Quote:
Originally Posted by wnjj View Post
Good info and detail there Fred. Do you happen to see any hs_err_pid* files in the SageTV directory? Those will show up when Java crashes and can often help narrow down where.

Have you tried using an edited 32-bit properties file to see if the HDHR tuners work? This may just be an issue in the setup/scan code.
I tested a fresh new install and from the look of it I say the root problem get down to LoadTuneTable ATSC as I had no luck with Hauppauge HVR-QuadHD (WinTV 885 TS Capture), it work fine when copy over the old files even scanning for new channel when with out any problem
My HD-PVR 2 and HD-PVR 60 where no problem add them in

Last edited by SHS; 12-05-2018 at 07:29 AM.
Reply With Quote
  #76  
Old 12-05-2018, 11:18 AM
Narflex's Avatar
Narflex Narflex is online now
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
Have you tried putting a NATIVE_LOG.ENABLE file in the SageTV program folder and then seeing if it creates a Native.log file? That may give additional info on where the crash is occurring. It sounds like it might be in the broadcast standard detection code...which is somewhat complicated (and unfortunately I'm not familiar with it).

It's also probably worth it to compare the log files from a 32-bit run vs. a 64-bit run to see how they differ...in fact, that will likely be the most productive path to take in my experience with capture device issues in SageTV like this. I'd just trim off the timestamps from them and use a diff program...I'm more than happy to do that for you guys if you post two logs (one from 32bit and the other from 64bit) and each performed the exact same steps on a fresh config. And I'm referring to just the sagetv_0.txt log file.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #77  
Old 12-05-2018, 11:23 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Thanks for bring that up I forgot that option
Reply With Quote
  #78  
Old 12-05-2018, 11:26 AM
wnjj wnjj is online now
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by Narflex View Post
Have you tried putting a NATIVE_LOG.ENABLE file in the SageTV program folder and then seeing if it creates a Native.log file? That may give additional info on where the crash is occurring. It sounds like it might be in the broadcast standard detection code...which is somewhat complicated (and unfortunately I'm not familiar with it).

It's also probably worth it to compare the log files from a 32-bit run vs. a 64-bit run to see how they differ...in fact, that will likely be the most productive path to take in my experience with capture device issues in SageTV like this. I'd just trim off the timestamps from them and use a diff program...I'm more than happy to do that for you guys if you post two logs (one from 32bit and the other from 64bit) and each performed the exact same steps on a fresh config. And I'm referring to just the sagetv_0.txt log file.
Thanks for the tips. I'm getting closer and it is indeed crashing somewhere in the tuning code. There's a lot going on in there. As of a few minutes ago I can reproduce the crash on my setup here so now can quickly add any debug logging needed. The last thing I'm seeing in Native.log is "Tune Channel (slot:0) ATSC ...".

Since your answer isn't "oh yeah, that because of X", it sounds like I'll have to beat through this one but I now have what I need.
Reply With Quote
  #79  
Old 12-05-2018, 11:44 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
Just in case there my logs from both 32 and 64
Attached Files
File Type: zip ATSC.zip (105.3 KB, 221 views)
Reply With Quote
  #80  
Old 12-05-2018, 11:50 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,589
OPS wrong log
Attached Files
File Type: zip ATSC2.zip (14.0 KB, 234 views)
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Windows Installer jusjoken SageTV Downloads & Instructions 606 02-25-2022 02:33 PM
Windows Installer Update? JrClocker SageTV Github Development 2 07-02-2016 08:48 PM
Does Windows Installer work on WHS emotionnotion SageTV Github Development 7 05-20-2016 07:55 AM
problems with windows installer Galaxysurfer SageTV Github Development 2 04-15-2016 05:41 AM
Any news on the Windows installer? Damstas SageTV Github Development 2 09-03-2015 10:09 AM


All times are GMT -6. The time now is 11:03 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.