libannodex 0.7.3
anx_general.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_GENERAL_H__
34#define __ANX_GENERAL_H__
35
40#include <annodex/anx_types.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
47double anx_parse_time (const char * str);
48
54int anx_last_error (ANNODEX * annodex);
55
62const char * anx_strerror (ANNODEX * annodex);
63
71int anx_get_mode (ANNODEX * annodex);
72
79ANNODEX * anx_open (char * filename, int mode);
80
87ANNODEX * anx_open_stdio (FILE * file, int mode);
88
95ANNODEX * anx_new (int mode);
96
102int anx_flush (ANNODEX * annodex);
103
111
117int anx_destroy (ANNODEX * annodex);
118
124int anx_ready (ANNODEX * annodex);
125
131int anx_eos (ANNODEX * annodex);
132
141AnxHead * anx_set_head (ANNODEX * annodex, AnxHead * head);
142
149
150#if 1
158#endif
159
160#if 0 /* Deprecated */
161long anx_seek (ANNODEX * annodex, long packets, int whence);
162#endif
163
169int anx_seek_id (ANNODEX * annodex, const char * id);
170
177
183double anx_set_presentation_time (ANNODEX * annodex, double seconds);
184
190double anx_get_basetime (ANNODEX * annodex);
191
197double anx_set_basetime (ANNODEX * annodex, double seconds);
198
205double anx_get_bitrate (ANNODEX * annodex);
206
212double anx_get_duration (ANNODEX * annodex);
213
219double anx_tell_time (ANNODEX * annodex);
220
227double anx_seek_time (ANNODEX * annodex, double seconds, int whence);
228
229
239int anx_head_snprint (char *buf, int n, AnxHead * h);
240
252int anx_clip_snprint (char * buf, int n, AnxClip * a,
253 double start, double end);
254
261
268
277
286
293
300
301#ifdef __cplusplus
302}
303#endif
304
305#endif /* __ANX_GENERAL_H__ */
ANNODEX * anx_close(ANNODEX *annodex)
Close an annodex.
AnxMetaElement * anx_meta_element_clone(AnxMetaElement *meta)
Clone an AnxMetaElement structure.
ANNODEX * anx_open_stdio(FILE *file, int mode)
Attach to an existing file descriptor.
double anx_get_basetime(ANNODEX *annodex)
Query the basetime of an annodex.
AnxHead * anx_get_head(ANNODEX *annodex)
Get a copy of the head element of an annodex.
AnxClip * anx_clip_clone(AnxClip *clip)
Clone an AnxClip structure.
double anx_get_presentation_time(ANNODEX *annodex)
Query the presentation time of an annodex.
int anx_eos(ANNODEX *annodex)
Query if an annodex has reached its 'End Of Stream' markers.
AnxClip * anx_clip_free(AnxClip *clip)
Free an AnxClip structure.
double anx_set_presentation_time(ANNODEX *annodex, double seconds)
Set the presentation time of an annodex.
double anx_get_duration(ANNODEX *annodex)
Query the duration of an annodex.
int anx_last_error(ANNODEX *annodex)
Retrieve the error code of the most recent error on an annodex.
ANNODEX * anx_open(char *filename, int mode)
Open a file containing Annodex media.
double anx_parse_time(const char *str)
Time parsing.
int anx_ready(ANNODEX *annodex)
Query if an annodex is ready.
AnxLinkElement * anx_link_element_clone(AnxLinkElement *link)
Clone an AnxLinkElement structure.
int anx_clip_snprint(char *buf, int n, AnxClip *a, double start, double end)
Print an AnxAnchor structure to a memory buffer.
AnxHead * anx_head_free(AnxHead *head)
Free an AnxHead structure.
double anx_tell_time(ANNODEX *annodex)
Query the current offset of an annodex expressed as time in seconds.
double anx_set_basetime(ANNODEX *annodex, double seconds)
Set the basetime of an annodex.
anx_int64_t anx_tell(ANNODEX *annodex)
Query the current byte offset of an annodex.
int anx_seek_id(ANNODEX *annodex, const char *id)
Seek to an anchor identified by id.
const char * anx_strerror(ANNODEX *annodex)
Retrieve a printable error string corresponding to the most recent error on annodex.
int anx_destroy(ANNODEX *annodex)
Forcefully close an annodex without flushing any file descriptors.
int anx_get_mode(ANNODEX *annodex)
Get the mode of an Annodex.
int anx_head_snprint(char *buf, int n, AnxHead *h)
Print an AnxHead structure to a memory buffer.
int anx_flush(ANNODEX *annodex)
Flush any unwritten data associated with an annodex.
double anx_seek_time(ANNODEX *annodex, double seconds, int whence)
Seek to a time point in an annodex.
AnxHead * anx_head_clone(AnxHead *head)
Clone an AnxHead structure.
ANNODEX * anx_new(int mode)
Create a managed Annodex handle This is an alternative interface for non-file annodexes.
double anx_get_bitrate(ANNODEX *annodex)
Query the bitrate of an annodex.
AnxHead * anx_set_head(ANNODEX *annodex, AnxHead *head)
Set the head element of the Annodex.
int64_t anx_int64_t
This typedef was determined on the system on which the documentation was generated.
Definition: anx_int64.h:93
Public structures and datatypes.
void ANNODEX
An ANNODEX handle.
Definition: anx_types.h:55
Definition: anx_types.h:102
Definition: anx_types.h:87
Definition: anx_types.h:73
Definition: anx_types.h:64