Architecture Overview
The following diagram illustrates the architecture of iTV applications:
As the diagram shows, you need to build two components to interact with the iTV runtime. The managed component will interact with all iTV runtime classes and events except the data interfaces. For the data interfaces, iTV applications use a native dynamic-link library (DLL). The platform does not prescribe communications between the two components, and they can use any of the .NET interoperability technologies including platform invoke and COM interop.
Code in both of these components runs in the ehexthost.exe process.
The following table summarizes the major functional areas of the iTV Runtime shown in the architecture diagram:
Functional Area | Implemented By |
Rendering | OverlaySurface class
VideoSurface class FrameFormat class RenderingMode class ZoomMode enumeration |
Session | PlaybackSession class
KeyCommandEventArgs class CommandCode enumeration KeyboardCommandEventState enumeration KeyCommandState enumeration KeyHandlerKey enumeration InputModifiers enumeration KeyCommandEventHandler delegate |
Stream Manipulation | StreamInfo class
StreamSelector class StreamType enumeration |
Tuning | Tuning class
ChannelState enumeration TuningFormatException exception TuningInProgressException exception TuningSameChannelException exception |
Miscellaneous | TVVMbase class |
Data (C++) | GetITVDataSource function
IiTvDataAttribute interface IiTvDataReceiver interface IiTvDataSource interface IiTvDataStreamControl interface ITV_PBDA_TAG_ATTRIBUTE structure ITV_TRANSPORT_PROPERTIES structure ITVDATA_FILTERING_METHOD_PID constant |
See Also