Data Structures |
struct | _AnxImporter |
struct | _AnxSourceTrack |
struct | _AnxSource |
Typedefs |
typedef struct _AnxImporter | AnxImporter |
| An AnxImporter implements generic functions for retrieving data from sources of a particular content type.
|
typedef struct _AnxSourceTrack | AnxSourceTrack |
| An AnxSourceTrack contains one track of data.
|
typedef struct _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.
|
AnxImporter * | anx_importer_find (char *content_type) |
| Find the AnxImporter registered with the given content type.
|
Specification of AnxImporter.
- When read requires starting a new frame or GOP, check the need_sync flag. If this is set, output a sync frame.
- Note:
- Always check not to seek before start_packet and not to seek or read past end_packet.
- seek should return the actual position after seeking (as the backend may not be able to seek exactly to the requested position).
Backends must implement the following function:
- AnxImporter * anx_importer_init (int i);
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).