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
00256 long anx_read (ANNODEX * annodex, long n);
00257
00269 long anx_read_input (ANNODEX * annodex, unsigned char * buf, long n);
00270
00271 #ifdef __cplusplus
00272 }
00273 #endif
00274
00275 #endif