The present invention is directed to minimizing the dependency of source
code on the characteristics of a set-top box's in-band (streaming video
or audio) hardware. The set-top box software consists of a device driver
layer, which is intimately aware of hardware characteristics, an
application layer, which is relatively unaware of any hardware details, a
middleware layer which is also relatively unaware of any hardware
details, and a device translation layer (DTL). In the DTL, all of the
translation between device abstractions to device driver calls that were
formerly made in middleware are moved down to an engine manager.
Middleware thus becomes device-independent with respect to in-band
devices, and porting Middleware to new hardware becomes trivial.