Main Page | Modules | Data Structures | File List | Globals | Related Pages

anx_import.h File Reference


Detailed Description

Specification of AnxImporter.

Note:
Always check not to seek before start_packet and not to seek or read past end_packet.

Backends must implement the following function:

Importers are accessed by index i using values from 0 upwards. For out of range indexes, this function must return NULL.

No other symbols in a backend should be visible (ie. declare all other globals and functions as static).

#include <annodex/anx_types.h>
#include <annodex/anx_core.h>

Go to the source code of this file.

Data Structures

struct  _AnxImporter
struct  _AnxSource
struct  _AnxSourceTrack

Typedefs

typedef _AnxImporter AnxImporter
 An AnxImporter implements generic functions for retrieving data from sources of a particular content type.

typedef _AnxSourceTrack AnxSourceTrack
 An AnxSourceTrack contains one track of data.

typedef _AnxSource AnxSource
 An AnxSource contains an instance of an active source object, which may in turn contain several tracks.

typedef AnxSource *(* AnxImporterOpenFunc )(const char *path, const char *id, int ignore_raw, double start_time, double end_time, AnxImportCallbacks *import_callbacks)
 Signature of a function for opening a source object by filename.

typedef AnxSource *(* AnxImporterOpenFDFunc )(int fd, const char *id, int ignore_raw, double start_time, double end_time, AnxImportCallbacks *import_callbacks)
 Signature of a function for opening a source object attached to an open file descriptor.

typedef long(* AnxImporterReadFunc )(AnxSource *source, unsigned char *buf, long n, long bound)
 Signature of a function for reading bytes from a source object.

typedef long(* AnxImporterSizeofNextReadFunc )(AnxSource *source, long bound)
 Signature of a function to return the preferred next read size.

typedef int(* AnxImporterCloseFunc )(AnxSource *source)
 Signature of a function to close a source object.


Functions

int anx_importer_register (AnxImporter *importer)
 Register an AnxImporter object with libannodex.

int anx_importer_unregister (AnxImporter *importer)
 Unregister an AnxImporter previously registered with libannodex.


Typedef Documentation

typedef int(* AnxImporterCloseFunc)(AnxSource * source)
 

Signature of a function to close a source object.

Parameters:
source an AnxSource* handle

typedef AnxSource*(* AnxImporterOpenFDFunc)(int fd, const char * id, int ignore_raw, double start_time, double end_time, AnxImportCallbacks * import_callbacks)
 

Signature of a function for opening a source object attached to an open file descriptor.

Parameters:
fd an open file descriptor
id the id of this
ignore_raw a flag to indicate that the importer should ignore any raw source read requests, ie. just deliver clips
start_time the start time to initially seek to
end_time a time bound to end on
import_callbacks callbacks to call when further importing or anchor inserting is required.
Returns:
a new AnxSource * handle

typedef AnxSource*(* AnxImporterOpenFunc)(const char * path, const char * id, int ignore_raw, double start_time, double end_time, AnxImportCallbacks * import_callbacks)
 

Signature of a function for opening a source object by filename.

Parameters:
path the path to the source file
id the id of this
ignore_raw a flag to indicate that the importer should ignore any raw source read requests, ie. just deliver clips
start_time the start time to initially seek to
end_time a time bound to end on
import_callbacks callbacks to call when further importing or anchor inserting is required.
Returns:
a new AnxSource * handle

typedef long(* AnxImporterReadFunc)(AnxSource * source, unsigned char * buf, long n, long bound)
 

Signature of a function for reading bytes from a source object.

Parameters:
source an AnxSource * handle
buf a buffer to read data into
n a maximum number of bytes to read
bound a maximum granulecount to read

typedef long(* AnxImporterSizeofNextReadFunc)(AnxSource * source, long bound)
 

Signature of a function to return the preferred next read size.

Parameters:
source an AnxSource * handle
bound a maximum granulecount to read


Function Documentation

int anx_importer_register AnxImporter importer  ) 
 

Register an AnxImporter object with libannodex.

Parameters:
importer the importer
Returns:
0 on success, -1 on failure

int anx_importer_unregister AnxImporter importer  ) 
 

Unregister an AnxImporter previously registered with libannodex.

Parameters:
importer the importer
Returns:
0 on success, -1 on failure


Generated on Sat May 22 19:44:48 2004 for libannodex by doxygen 1.3.5