liboggz  1.1.1
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__
34 #define __OGGZ_H__
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
44 extern "C" {
45 #endif
46 
441 typedef void OGGZ;
442 
449 OGGZ * oggz_new (int flags);
450 
458 OGGZ * oggz_open (const char * filename, int flags);
459 
467 OGGZ * oggz_open_stdio (FILE * file, int flags);
468 
477 int oggz_flush (OGGZ * oggz);
478 
500 long oggz_run (OGGZ * oggz);
501 
510 int oggz_run_set_blocksize (OGGZ * oggz, long blocksize);
511 
519 int oggz_close (OGGZ * oggz);
520 
531 int oggz_get_bos (OGGZ * oggz, long serialno);
532 
543 int oggz_get_eos (OGGZ * oggz, long serialno);
544 
555 int oggz_get_numtracks (OGGZ * oggz);
556 
564 long oggz_serialno_new (OGGZ * oggz);
565 
572 const 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__ */
int oggz_get_eos(OGGZ *oggz, long serialno)
Determine if a given logical bitstream is at eos (end of stream).
Interfaces for querying Ogg streams.
int oggz_get_bos(OGGZ *oggz, long serialno)
Determine if a given logical bitstream is at bos (beginning of stream).
int oggz_run_set_blocksize(OGGZ *oggz, long blocksize)
Set the blocksize to use internally for oggz_run()
A lookup table.
Deprecated interfaces.
OGGZ * oggz_new(int flags)
Create a new OGGZ object.
Architecture-dependent type and printf format for file position.
Overriding the functions used for input and output of raw data.
int oggz_flush(OGGZ *oggz)
Ensure any associated io streams are flushed.
long oggz_run(OGGZ *oggz)
Run an OGGZ until completion, or error.
OGGZ * oggz_open_stdio(FILE *file, int flags)
Create an OGGZ handle associated with a stdio stream.
Reading of comments.
void OGGZ
An opaque handle to an Ogg file.
Definition: oggz.h:441
Interfaces for reading Ogg files and streams.
Interfaces for writing Ogg files and streams.
General constants used by liboggz.
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...
OggzStreamContent
Definition of stream content types.
Definition: oggz_constants.h:106
const char * oggz_content_type(OggzStreamContent content)
Return human-readable string representation of a content type.
Seeking within files.
int oggz_close(OGGZ *oggz)
Close an OGGZ handle.
OGGZ * oggz_open(const char *filename, int flags)
Open an Ogg file, creating an OGGZ handle for it.
int oggz_get_numtracks(OGGZ *oggz)
Query the number of tracks (logical bitstreams).