Thursday, July 1, 2010

Forget the MCE Extender - just stream the tuner output - phase 2

It has been a very busy few weeks, I have learned way more about AVStream and BDA than I even wanted to know :). I have finally reached a point in the development cycle where I can release an alpha version of the code. The current implementation of my tuner driver currently supports ATSC and Digital/Analog Cable (clear QAM and analog cable). The Device managed capture shows the 2 drivers installed the first one handles ATSC and the second handles QAM. I found it easier on Windows Media Center (WMC) to have 2 instances of the driver each supporting its own tuning space as opposed to one instance supporting both.
I have not managed to have WMC detect the analog portion of Cable on the QAM tuner, I know it is scanning for the channels and the signal is strong and locked. I think this may be due to the fact that the mpeg-2 encoder is not inserting any EIT/ETT information WMC may be searching for the channel identification information in the stream. I have a strong belief that if I inject this information into the transport stream (TS), WMC will detect the analog channels. These are all the channels below channel 69 on Comcast in my area. The QAM tuner will then present itself more like a Digital Cable tuner.
Support for DVB-C should not be too difficult to implement - I just need to find someone with a compatible tuner to test it for me.

What I currently have working:
A user can install one or more tuner servers with as many tuners as they want irrespective of the technology i.e. Analog (Cable only in USA), ATSC and Clear QAM.
A client system will install 1 or more tuners depending on the tuners installed on the servers one tuner is used for each technology i.e. if you only have ATSC then install 1 tuner. If ATSC and Analog/QAM is present install 2 tuners. The system is totally fault tolerant if a tuner server goes off-line the clients will immediately start polling until the server re-appears or connect to another server if one has tuners available. The state is restored with the viewer only noticing a few seconds of missing video (if switching to a new server) or a delay as long as it takes the original server to come back on-line.

What I am working on:
  • Injecting EIT/ETT into Analog stream for WMC. Done
  • Support for DVB-C.
  • Support for Set top boxes with IEEE interfaces.
  • Support for CableCard (unprotected content for now).
  • Interfacing with WMC to propogate recording requests
  • Priority handling of tuners and concurrent access for shared content.
  • etc.
I have a link here for anyone that is interested in testing the alpha when it becomes available. Register for Alpha.

No comments:

Post a Comment