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
55 extern "C" {
56 #endif
57 
72 typedef int (*AnxReadStream) (ANNODEX * annodex, double timebase,
73  char * utc, void * user_data);
74 
94 typedef 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);
113 typedef int (*AnxReadHead) (ANNODEX * annodex, const AnxHead * head,
114  void * user_data);
115 
129 typedef int (*AnxReadClip) (ANNODEX * annodex, const AnxClip * clip,
130  void * user_data);
131 
148 typedef int (*AnxReadRaw) (ANNODEX * annodex, unsigned char * data, long n,
149  long serialno, anx_int64_t granulepos,
150  void * user_data);
151 
159 int
160 anx_set_read_stream_callback (ANNODEX * annodex, AnxReadStream read_stream,
161  void * user_data);
162 
168 void *
170 
178 int
179 anx_set_read_track_callback (ANNODEX * annodex, AnxReadTrack read_track,
180  void * user_data);
181 
187 void *
189 
197 int
198 anx_set_read_head_callback (ANNODEX * annodex, AnxReadHead read_head,
199  void * user_data);
200 
206 void *
208 
216 int
217 anx_set_read_clip_callback (ANNODEX * annodex, AnxReadClip read_clip,
218  void * user_data);
219 
225 void *
227 
235 int
236 anx_set_read_raw_callback (ANNODEX * annodex, AnxReadRaw read_raw,
237  void * user_data);
238 
244 void *
246 
256 long anx_read (ANNODEX * annodex, long n);
257 
269 long anx_read_input (ANNODEX * annodex, unsigned char * buf, long n);
270 
271 #ifdef __cplusplus
272 }
273 #endif
274 
275 #endif /* __ANX_READ_H__ */
AnxReadStream
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
_AnxHead
Definition: anx_types.h:87
anx_types.h
anx_get_read_clip_user_data
void * anx_get_read_clip_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadClip callback.
anx_get_read_raw_user_data
void * anx_get_read_raw_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadRaw callback.
anx_set_read_raw_callback
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.
anx_get_read_head_user_data
void * anx_get_read_head_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadHead callback.
anx_set_read_head_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.
AnxReadHead
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
anx_set_read_clip_callback
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.
ANNODEX
void ANNODEX
An ANNODEX handle.
Definition: anx_types.h:55
AnxReadTrack
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
_AnxClip
Definition: anx_types.h:102
anx_int64_t
int64_t anx_int64_t
This typedef was determined on the system on which the documentation was generated.
Definition: anx_int64.h:93
anx_set_read_stream_callback
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.
anx_get_read_stream_user_data
void * anx_get_read_stream_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadStream callback.
anx_set_read_track_callback
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.
anx_read
long anx_read(ANNODEX *annodex, long n)
Read from an annodex opened with anx_open() or anx_open_stdio().
AnxReadRaw
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
anx_read_input
long anx_read_input(ANNODEX *annodex, unsigned char *buf, long n)
Input data from a memory buffer into an annodex.
AnxReadClip
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
anx_get_read_track_user_data
void * anx_get_read_track_user_data(ANNODEX *annodex)
Retrieve the user_data associated with an attached AnxReadTrack callback.