[Home]Export Modules/API

No diff available--this is the first major revision. (minor diff, author diff)

EXPORT MODULE WRITING HOWTO

Some very short documentation on writing export modules for transcode

Include this

 #include "transcode.h"       //definition of vob_t and transfer_t structure

Data exchange structures

 typedef struct _vob_t {
 //see transcode.h for details
 } vob_t;
 
 typedef struct _transfer_t {
 
   int flag;            /* specifies context: TC_VIDEO for video 
                         *                    TC_AUDIO for audio
                         *
                         * or passes an integer to the module
                         */
 
   FILE *fd;            /* file handle for input stream   
                         * NULL if import module performs reading
                         * unused in export module
                         */
 
   int size;            /* total amount of bytes in the buffer */
 
   char *buffer;        /* pointer to data array with frame data */
 
 } transfer_t;

Single function interface

 tc_export

Requested method

transcode calls the following routines in this order for both export modules, i.e., first for video and then for the audio context flag set. An export module should in general be able to deal with audio and video and write it to a common file. But the interface is more general.

[1] option=TC_EXPORT_NAME

 para1=_transfer_t
 para2=NULL
Requested action
Print out some general modules infos to stderr and inherit transcode verbosity flag (optional return capability flag)
Status
Optional

[2] option=TC_EXPORT_INIT

 para1=_transfer_t
 para2=_vob_t
Requested action
Initialize the encoder
Status
Required

[3] option=TC_EXPORT_OPEN

 para1=_transfer_t
 para2=_vob_t
Requested action
Open outputfile
Status
Required

[4] option=TC_EXPORT_ENCODE

 para1=_transfer_t
 para2=NULL
Requested action
Use this frame data to encode the next frame in the sequence
Status
Required

[5] option:TC_EXPORT_CLOSE

 para1=_transfer_t
 para2=NULL
Requested action
Close open files
Status
Required

[6] option=TC_EXPORT_STOP

 para1=_transfer_t
 para2=NULL
Requested action
Stop the encoder, free memory and prepare for module removal
Status
Required

Exit codes

The following are all handled by transcode, and should be used when returning from the above core function.

 TC_EXPORT_UNKNOWN
option not supported

 TC_EXPORT_OK
no error, hopefully the default

 TC_EXPORT_ERROR
a critical error occured


Transcode Wiki | Export Modules | Recent Changes | Preferences
Password required to edit | View other revisions
Last edited September 3, 2005 12:50 pm by Monroe (diff)
Search: