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
00037
#ifndef __ANX_TYPES_H__
00038
#define __ANX_TYPES_H__
00039
00040
#include <stdio.h>
00041
#include <annodex/anx_list.h>
00042
00043
00044
00045
#if defined(_WIN32) && !defined(__GNUC__)
00046
# include <annodex/anx_int64_w32.h>
00047
#else
00048
# include <annodex/anx_int64.h>
00049
#endif
00050
00051
#ifndef _ANX_PRIVATE
00052
00055 typedef void ANNODEX;
00056
#endif
00057
00059 typedef struct _AnxTrack AnxTrack;
00060
00064 struct _AnxTrack {
00065
long serialno;
00066
char *
id;
00067
char * content_type;
00068
long nr_header_packets;
00069
anx_int64_t granule_rate_n;
00070
anx_int64_t granule_rate_d;
00071 };
00072
00073
00074
00075
typedef struct _AnxHead AnxHead;
00076
typedef struct _AnxClip AnxClip;
00077
typedef struct _AnxMetaElement AnxMetaElement;
00078
00079
struct _AnxMetaElement {
00080
char *
id;
00081
char *lang;
00082
char *dir;
00083
char *name;
00084
char *content;
00085
char *scheme;
00086 };
00087
00088
struct _AnxHead {
00089
char *head_id;
00090
char *lang;
00091
char *dir;
00092
char *profile;
00093
char *title;
00094
char *title_id;
00095
char *title_lang;
00096
char *title_dir;
00097
char *base_id;
00098
char *base_href;
00099
AnxList * meta;
00100 };
00101
00102
struct _AnxClip {
00103
char *clip_id;
00104
char *lang;
00105
char *dir;
00106
char *track;
00107
char *anchor_id;
00108
char *anchor_lang;
00109
char *anchor_dir;
00110
char *anchor_class;
00111
char *anchor_href;
00112
char *anchor_text;
00113
char *img_id;
00114
char *img_lang;
00115
char *img_dir;
00116
char *img_src;
00117
char *img_alt;
00118
char *desc_id;
00119
char *desc_lang;
00120
char *desc_dir;
00121
char *desc_text;
00122
AnxList * meta;
00123 };
00124
00125
00126
00127
typedef int (*AnxImportStream) (
double timebase,
char * utc,
void * user_data);
00128
typedef int (*AnxImportHead) (AnxHead * head,
void * user_data);
00129
typedef int (*AnxImportClip) (AnxClip * clip,
double time_offset,
00130
void * user_data);
00131
00132
typedef int (*AnxImportImport) (
double start_time,
char * filename,
00133
char *
id,
char * content_type,
00134
double seek_offset,
double seek_end,
00135
void * user_data);
00136
00137
typedef struct _AnxImportCallbacks AnxImportCallbacks;
00138
00139
struct _AnxImportCallbacks {
00140 AnxImportStream import_stream;
00141 AnxImportHead import_head;
00142 AnxImportClip import_clip;
00143
void * import_user_data;
00144 AnxImportImport import_import;
00145
void * import_import_user_data;
00146 };
00147
00148
#endif