00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
#ifndef __ANX_READ_H__
00034
#define __ANX_READ_H__
00035
00052
#include <annodex/anx_types.h>
00053
00054
#ifdef __cplusplus
00055
extern "C" {
00056
#endif
00057
00072 typedef int (*
AnxReadStream) (
ANNODEX * annodex,
double timebase,
00073
char * utc,
void * user_data);
00074
00094 typedef int (*
AnxReadTrack) (
ANNODEX * annodex,
long serialno,
00095
char *
id,
char * content_type,
00096
anx_int64_t granule_rate_n,
00097
anx_int64_t granule_rate_d,
00098
int nr_header_packets,
00099
void * user_data);
00113 typedef int (*
AnxReadHead) (
ANNODEX * annodex,
const AnxHead * head,
00114
void * user_data);
00115
00129 typedef int (*
AnxReadClip) (
ANNODEX * annodex,
const AnxClip * clip,
00130
void * user_data);
00131
00148 typedef int (*
AnxReadRaw) (
ANNODEX * annodex,
unsigned char * data,
long n,
00149
long serialno,
anx_int64_t granulepos,
00150
void * user_data);
00151
00159
int
00160
anx_set_read_stream_callback (ANNODEX * annodex, AnxReadStream read_stream,
00161
void * user_data);
00162
00168
void *
00169
anx_get_read_stream_user_data (ANNODEX * annodex);
00170
00178
int
00179
anx_set_read_track_callback (ANNODEX * annodex, AnxReadTrack read_track,
00180
void * user_data);
00181
00187
void *
00188
anx_get_read_track_user_data (ANNODEX * annodex);
00189
00197
int
00198
anx_set_read_head_callback (ANNODEX * annodex, AnxReadHead read_head,
00199
void * user_data);
00200
00206
void *
00207
anx_get_read_head_user_data (ANNODEX * annodex);
00208
00216
int
00217
anx_set_read_clip_callback (ANNODEX * annodex, AnxReadClip read_clip,
00218
void * user_data);
00219
00225
void *
00226
anx_get_read_clip_user_data (ANNODEX * annodex);
00227
00235
int
00236
anx_set_read_raw_callback (ANNODEX * annodex, AnxReadRaw read_raw,
00237
void * user_data);
00238
00244
void *
00245
anx_get_read_raw_user_data (ANNODEX * annodex);
00246
00254
int anx_set_user_data (ANNODEX * annodex,
void * user_data);
00255
00265
long anx_read (ANNODEX * annodex,
long n);
00266
00278
long anx_read_input (ANNODEX * annodex,
unsigned char * buf,
long n);
00279
00280
#ifdef __cplusplus
00281
}
00282
#endif
00283
00284
#endif