Main Page   Modules   Data Structures   Data Fields   Related Pages  

RTE Backend Interface Overview

RTE consists of four layers:

The frontend code implements the interface to RTE clients, hiding all implementation details. It does some housekeeping, sanity checking on client input, and provides helper functions for backends.

The frontend maintains multiple backends, possibly through use of plugins, which implement most of the actual RTE functionality on top of the respective compression library or program. That includes for example missing UI functions or backend specific implementation of the RTE i/o functions.

Context and codec definitions are cleanly separated, so the code can be kept in isolated modules or merged into context or backend modules.

The rte_context and rte_codec structure are inaccessible to the client and shall be used by the backend as documented. The rte_backend_class, rte_context_class and rte_codec_class define the interface of the respective layer to higher layers.

Minimum Requirements

Backend Installation

Put each backend into a separate directory under rte/. The directory name goes into rte/Makefile.am. A backend switch, the Makefile.am's to be built and environment checks go into rte/configure.in. Take ffmpeg as example. In rte/src, add any backend object libs to Makefile.am, extend the backends[] array in context.c.

Backend files #include "config.h" to get configure definitions and #include "rtepriv.h" to get all RTE definitions.

For test code see the rte/test directory. Support is available at zapping-misc@lists.sourceforge.net.


Generated on Wed Aug 11 16:40:14 2004 for RTE Library by doxygen1.2.18