libannodex 0.7.3
anx_read.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2003 Commonwealth Scientific and Industrial Research
3 Organisation (CSIRO) Australia
4
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8
9 - Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11
12 - Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
15
16 - Neither the name of CSIRO Australia nor the names of its
17 contributors may be used to endorse or promote products derived from
18 this software without specific prior written permission.
19
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23 PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ORGANISATION OR
24 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*/
32
33#ifndef __ANX_READ_H__
34#define __ANX_READ_H__
35
52#include <annodex/anx_types.h>
53
54#ifdef __cplusplus
55extern "C" {
56#endif
57
72typedef int (*AnxReadStream) (ANNODEX * annodex, double timebase,
73 char * utc, void * user_data);
74
94typedef int (*AnxReadTrack) (ANNODEX * annodex, long serialno,
95 char * id, char * content_type,
96 anx_int64_t granule_rate_n,
97 anx_int64_t granule_rate_d,
98 int nr_header_packets,
99 void * user_data);
113typedef int (*AnxReadHead) (ANNODEX * annodex, const AnxHead * head,
114 void * user_data);
115
129typedef int (*AnxReadClip) (ANNODEX * annodex, const AnxClip * clip,
130 void * user_data);
131
148typedef int (*AnxReadRaw) (ANNODEX * annodex, unsigned char * data, long n,
149 long serialno, anx_int64_t granulepos,
150 void * user_data);
151
159int
161 void * user_data);
162
168void *
170
178int
180 void * user_data);
181
187void *
189
197int
199 void * user_data);
200
206void *
208
216int
218 void * user_data);
219
225void *
227
235int
237 void * user_data);
238
244void *
246
256long anx_read (ANNODEX * annodex, long n);
257
269long anx_read_input (ANNODEX * annodex, unsigned char * buf, long n);
270
271#ifdef __cplusplus
272}
273#endif
274
275#endif /* __ANX_READ_H__ */
int64_t anx_int64_t
This typedef was determined on the system on which the documentation was generated.
Definition: anx_int64.h:93
int anx_set_read_raw_callback(ANNODEX *annodex, AnxReadRaw read_raw, void *user_data)
Set the function to call each time a raw data packet is read.
long anx_read_input(ANNODEX *annodex, unsigned char *buf, long n)
Input data from a memory buffer into an annodex.
void * anx_get_read_clip_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadClip callback.
int(* AnxReadTrack)(ANNODEX *annodex, long serialno, char *id, char *content_type, anx_int64_t granule_rate_n, anx_int64_t granule_rate_d, int nr_header_packets, void *user_data)
Signature for a callback called each time an 'AnxData' track header is parsed.
Definition: anx_read.h:94
int(* AnxReadHead)(ANNODEX *annodex, const AnxHead *head, void *user_data)
Signature for a callback called when the head element is parsed.
Definition: anx_read.h:113
int anx_set_read_track_callback(ANNODEX *annodex, AnxReadTrack read_track, void *user_data)
Set the function to call each time an 'AnxData' track header is parsed.
void * anx_get_read_track_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadTrack callback.
int anx_set_read_head_callback(ANNODEX *annodex, AnxReadHead read_head, void *user_data)
Set the function to call when the head element is read.
void * anx_get_read_stream_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadStream callback.
int(* AnxReadStream)(ANNODEX *annodex, double timebase, char *utc, void *user_data)
Signature for a callback called when the 'Annodex' stream header is parsed.
Definition: anx_read.h:72
int anx_set_read_clip_callback(ANNODEX *annodex, AnxReadClip read_clip, void *user_data)
Set the function to call each time a clip is parsed.
long anx_read(ANNODEX *annodex, long n)
Read from an annodex opened with anx_open() or anx_open_stdio().
int anx_set_read_stream_callback(ANNODEX *annodex, AnxReadStream read_stream, void *user_data)
Set the function to call each time an 'Annodex' stream header is parsed.
int(* AnxReadClip)(ANNODEX *annodex, const AnxClip *clip, void *user_data)
Signature for a callback called each time a clip element is parsed.
Definition: anx_read.h:129
int(* AnxReadRaw)(ANNODEX *annodex, unsigned char *data, long n, long serialno, anx_int64_t granulepos, void *user_data)
Signature for a callback called each time a raw data packet is found.
Definition: anx_read.h:148
void * anx_get_read_head_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadHead callback.
void * anx_get_read_raw_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadRaw callback.
Public structures and datatypes.
void ANNODEX
An ANNODEX handle.
Definition: anx_types.h:55
Definition: anx_types.h:102
Definition: anx_types.h:87