Creating a Codec Server
For example, these statements from the video_copy.cfg file have been modified (bold text) to reference the speech encoder/decoder.
/* get various codec modules; i.e. codec implementations */ var SPHDEC_COPY = xdc.useModule('codecs.sphdec_copy.SPHDEC_COPY'); var SPHENC_COPY = xdc.useModule('codecs.sphenc_copy.SPHENC_COPY');
5)Modify the attributes of the threadAttrs structure as desired. See CE_INSTALL_DIR/xdoc/index.html for details about these attributes.
Server.threadAttrs.stackSize = 2048;
Server.threadAttrs.priority = Server.MINPRI;
These settings configure the Server thread, which is used to create and delete codecs as well as to support requests for dynamic resource usage. We recommend that you use Server.MINPRI so you don’t preempt
6)Specify the algorithms to be available in this Codec Server by modifying the Server.algs array. For example, statements from the video_copy.cfg file have been added and modified (bold text) to reference the speech encoder/decoder and to give audio processing a higher priority than video processing.
Server.algs = [
{name: "viddec_copy", mod: VIDDEC_COPY, threadAttrs: { stackSize: 4096, stackMemId: 0, priority: Server.MINPRI + 1}
},
{name: "videnc_copy", mod: VIDENC_COPY, threadAttrs: { stackSize: 4096, stackMemId: 0, priority: Server.MINPRI + 1}
},
{name: "sphdec_copy", mod: SPHDEC_COPY, threadAttrs: { stackSize: 4096, stackMemId: 0, priority: Server.MINPRI + 2}
},
{name: "sphenc_copy", mod: SPHENC_COPY, threadAttrs: { stackSize: 4096, stackMemId: 0, priority: Server.MINPRI + 2}
},
];
7)The example *.cfg files also configure the ti.sdo.fc.dskt2.DSKT2 and ti.sdo.fc.dman3.DMAN3 modules, which are part of Framework Components. DSKT2 is the xDAIS algorithm memory allocation manager, and DMAN3 is the DMA manager. See the Framework Components documentation in CE_INSTALL_DIR/xdoc/index.html for details on configuring these modules.