liboggz 1.1.3
oggz.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 OGGZ_H_INCLUDED
34#define OGGZ_H_INCLUDED
35
36#include <stdio.h>
37#include <sys/types.h>
38
39#include <ogg/ogg.h>
40#include <oggz/oggz_constants.h>
41#include <oggz/oggz_table.h>
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
441typedef void OGGZ;
442
449OGGZ * oggz_new (int flags);
450
458OGGZ * oggz_open (const char * filename, int flags);
459
467OGGZ * oggz_open_stdio (FILE * file, int flags);
468
477int oggz_flush (OGGZ * oggz);
478
500long oggz_run (OGGZ * oggz);
501
510int oggz_run_set_blocksize (OGGZ * oggz, long blocksize);
511
519int oggz_close (OGGZ * oggz);
520
531int oggz_get_bos (OGGZ * oggz, long serialno);
532
543int oggz_get_eos (OGGZ * oggz, long serialno);
544
556
565
572const char *
574
575#include <oggz/oggz_off_t.h>
576#include <oggz/oggz_read.h>
577#include <oggz/oggz_stream.h>
578#include <oggz/oggz_seek.h>
579#include <oggz/oggz_write.h>
580#include <oggz/oggz_io.h>
581#include <oggz/oggz_comments.h>
582#include <oggz/oggz_deprecated.h>
583
584#ifdef __cplusplus
585}
586#endif
587
588#endif /* OGGZ_H_INCLUDED */
long oggz_run(OGGZ *oggz)
Run an OGGZ until completion, or error.
const char * oggz_content_type(OggzStreamContent content)
Return human-readable string representation of a content type.
int oggz_get_numtracks(OGGZ *oggz)
Query the number of tracks (logical bitstreams).
int oggz_get_bos(OGGZ *oggz, long serialno)
Determine if a given logical bitstream is at bos (beginning of stream).
OGGZ * oggz_open_stdio(FILE *file, int flags)
Create an OGGZ handle associated with a stdio stream.
OGGZ * oggz_open(const char *filename, int flags)
Open an Ogg file, creating an OGGZ handle for it.
void OGGZ
An opaque handle to an Ogg file.
Definition: oggz.h:441
OGGZ * oggz_new(int flags)
Create a new OGGZ object.
int oggz_flush(OGGZ *oggz)
Ensure any associated io streams are flushed.
int oggz_close(OGGZ *oggz)
Close an OGGZ handle.
long oggz_serialno_new(OGGZ *oggz)
Request a new serialno, as required for a new stream, ensuring the serialno is not yet used for any o...
int oggz_run_set_blocksize(OGGZ *oggz, long blocksize)
Set the blocksize to use internally for oggz_run()
int oggz_get_eos(OGGZ *oggz, long serialno)
Determine if a given logical bitstream is at eos (end of stream).
Reading of comments.
General constants used by liboggz.
OggzStreamContent
Definition of stream content types, including error codes returned by oggz_stream_get_content().
Definition: oggz_constants.h:193
Deprecated interfaces.
Overriding the functions used for input and output of raw data.
Architecture-dependent type and printf format for file position.
Interfaces for reading Ogg files and streams.
Seeking within files.
Interfaces for querying Ogg streams.
A lookup table.
Interfaces for writing Ogg files and streams.