Fix potential integer overflow.
[liboggz.git] / release_notes / liboggz-0.9.4.txt
1 Oggz 0.9.4 Release
2 ------------------
3
4 Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump,
5 oggzdiff, oggzmerge, oggzrip, oggz-scan and oggz-validate.
6
7 liboggz is a C library providing a simple programming interface for reading
8 and writing Ogg files and streams. Ogg is an interleaving data container
9 developed by Monty at Xiph.Org, originally to support the Ogg Vorbis audio
10 format.
11
12 This release is available as a source tarball at:
13
14 http://www.annodex.net/software/liboggz/download/liboggz-0.9.4.tar.gz
15
16 Many of the improvements in this release were driven by development of the
17 new Annodex Media Validation Service: http://validator.annodex.org/
18
19 New in this release:
20
21         * liboggz: Added new oggz_run() convenience function
22           - equivalent to calling oggz_read() or oggz_write() in a loop,
23           but only returns upon completion or error
24           - added new oggz_run_set_blocksize() function
25           - updated libtool shared version info to 3:0:2
26
27         * liboggz: Improved callback handling
28           - added delayed callback error handling for oggz_read*() and
29           oggz_write*() functions. When a reading or writing operation is
30           stopped by a user callback returning OGGZ_STOP_OK or OGGZ_STOP_ERR,
31           that return value is cached and reported by the subsequent call
32           to oggz_read*() or oggz_write*() (unless no data has been read or
33           written, in which case it is reported immediately as before). This
34           ensures that a user callback returning OGGZ_STOP_OK or
35           OGGZ_STOP_ERR is always explicitly acknowledged without requiring
36           the application to track its own errors.
37
38         * Improvements to oggz-validate:
39           - added ability to run oggz-validate on stdin, using "-" as filename
40           - added --prefix, --suffix and --partial options to suppress errors
41           when only validating the specified portion of a complete stream
42           - add --max-errors num option to specify the maximum number of
43           errors to bail out after, or 0 to show all errors (ticket:154)
44           - if an input file fails oggz_open(), continue processing other
45           files on the commandline rather than exiting immediately
46           - improved documentation of errors detected by oggz-validate
47           - added --help-errors (-E) option to just list known errors,
48           without other help text around
49
50         * oggzmerge: When merging Vorbis and Theora streams, ensure the
51           Theora header appears first in the output file in conformance with
52           the Ogg Theora bitstream specification. (ticket:189)
53
54 About Oggz
55 ----------
56
57 Oggz comprises liboggz and the command-line tools oggzinfo, oggzdump,
58 oggzdiff, oggzmerge, oggzrip, oggz-scan and oggz-validate.
59
60 liboggz supports the flexibility afforded by the Ogg file format while
61 presenting the following API niceties:
62
63         * Full API documentation
64
65         * Comprehensive test suite of read, write and seeking behavior.
66         The entire test suite can be run under valgrind if available.
67
68         * Developed and tested on GNU/Linux, Darwin/MacOSX, Win32 and
69         Symbian OS. May work on other Unix-like systems via GNU autoconf.
70         For Win32: nmake Makefiles, Visual Studio .NET 2003 solution files
71         and Visual C++ 6.0 workspace files are provided in the source
72         distribution.
73
74         * Strict adherence to the formatting requirements of Ogg bitstreams,
75         to ensure that only valid bitstreams are generated; writes can fail
76         if you try to write illegally structured packets.
77
78         * A simple, callback based open/read/close or open/write/close
79         interface to raw Ogg files.
80
81         * Writing automatically interleaves with packet queuing, and provides   
82         callback based notification when this queue is empty
83
84         * A customisable seeking abstraction for seeking on multitrack Ogg
85         data. Seeking works easily and reliably on multitrack and multi-codec
86         streams, and can transparently parse Theora, Speex, Vorbis, FLAC,
87         CMML and Ogg Skeleton headers  without requiring linking to those
88         libraries. This allows efficient use on servers and other devices
89         that need to parse and seek within Ogg files, but do not need to do
90         a full media decode.
91
92 Full documentation of the liboggz API, customization and installation,
93 and mux and demux examples can be read online at:
94
95     http://www.annodex.net/software/liboggz/html/
96
97 Tools
98 -----
99
100 The Oggz source tarball also contains the following command-line tools,
101 which are useful for debugging and testing Ogg bitstreams:
102
103         * oggzinfo: Display information about one or more Ogg files and
104         their bitstreams.
105
106         * oggzdump: Hexdump packets of an Ogg file, or revert an Ogg file
107         from such a hexdump.
108
109         * oggzdiff: Hexdump the packets of two Ogg files and output
110         differences.
111
112         * oggzmerge: Merge Ogg files together, interleaving pages in order
113         of presentation time.
114
115         * oggzrip: Extract one or more logical bitstreams from an Ogg file.
116
117         * oggz-scan: Scan an Ogg file and output characteristic landmarks.
118
119         * oggz-validate: Validate the Ogg framing of one or more files.
120
121 License
122 -------
123
124 Oggz is Free Software, available under a BSD style license.
125
126 More information is available online at the Oggz homepage:
127
128     http://www.annodex.net/software/liboggz/
129
130 enjoy :)
131
132 --
133 Conrad Parker
134 Senior Software Engineer, Continuous Media Web, CSIRO Australia
135 http://www.annodex.net/   http://www.ict.csiro.au/cmweb/