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_GENERAL_H__
00034 #define __ANX_GENERAL_H__
00035
00040 #include <annodex/anx_types.h>
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00047 double anx_parse_time (const char * str);
00048
00054 int anx_last_error (ANNODEX * annodex);
00055
00062 const char * anx_strerror (ANNODEX * annodex);
00063
00071 int anx_get_mode (ANNODEX * annodex);
00072
00079 ANNODEX * anx_open (char * filename, int mode);
00080
00087 ANNODEX * anx_open_stdio (FILE * file, int mode);
00088
00095 ANNODEX * anx_new (int mode);
00096
00102 int anx_flush (ANNODEX * annodex);
00103
00110 ANNODEX * anx_close (ANNODEX * annodex);
00111
00117 int anx_destroy (ANNODEX * annodex);
00118
00124 int anx_ready (ANNODEX * annodex);
00125
00131 int anx_eos (ANNODEX * annodex);
00132
00141 AnxHead * anx_set_head (ANNODEX * annodex, AnxHead * head);
00142
00148 AnxHead * anx_get_head (ANNODEX * annodex);
00149
00150 #if 1
00151
00157 anx_int64_t anx_tell (ANNODEX * annodex);
00158 #endif
00159
00160 #if 0
00161 long anx_seek (ANNODEX * annodex, long packets, int whence);
00162 #endif
00163
00169 int anx_seek_id (ANNODEX * annodex, const char * id);
00170
00176 double anx_get_presentation_time (ANNODEX * annodex);
00177
00183 double anx_set_presentation_time (ANNODEX * annodex, double seconds);
00184
00190 double anx_get_basetime (ANNODEX * annodex);
00191
00197 double anx_set_basetime (ANNODEX * annodex, double seconds);
00198
00205 double anx_get_bitrate (ANNODEX * annodex);
00206
00212 double anx_get_duration (ANNODEX * annodex);
00213
00219 double anx_tell_time (ANNODEX * annodex);
00220
00227 double anx_seek_time (ANNODEX * annodex, double seconds, int whence);
00228
00229
00239 int anx_head_snprint (char *buf, int n, AnxHead * h);
00240
00252 int anx_clip_snprint (char * buf, int n, AnxClip * a,
00253 double start, double end);
00254
00260 AnxHead * anx_head_free (AnxHead * head);
00261
00267 AnxClip * anx_clip_free (AnxClip * clip);
00268
00276 AnxHead * anx_head_clone (AnxHead * head);
00277
00285 AnxClip * anx_clip_clone (AnxClip * clip);
00286
00292 AnxMetaElement * anx_meta_element_clone (AnxMetaElement * meta);
00293
00299 AnxLinkElement * anx_link_element_clone (AnxLinkElement * link);
00300
00301 #ifdef __cplusplus
00302 }
00303 #endif
00304
00305 #endif