[vorbis-dev] Re: Feedback on Ogg Speex file format

Ingo Ralf Blum ingoralfblum at gmx.de
Wed Aug 14 00:54:43 PDT 2002



Here's my opinion (I'm no Xiph member, so just take this as an idea of an
outsider):

> All integer fields in the headers are stored as little-endian. The

Should be ok, as long as your libs take care of that.

> speex_string field must contain the ``Speex   `` (with 3 training
> spaces), which identifies the bit-stream.

Why the 3 spaces?

> The next field, speex_version
> contains the version of Speex that encoded the file. For now, refer to
> speex_header.[ch] for more info. The beginning of stream (b_o_s) flag is
> set to 1 for the header. The header packet has packetno=0 and
> granulepos=0.

Isn't -1 the preferred granuelpos for headers.

> The second packet contains a user-comment string, without terminating
> null. The content/format of the comment string is not defined. This
> packet has packetno=1 and granulepos=0.

You should specify the charset, for example UTF8, if your library doesn't
handle it.

> The third and subsequant packets each contain one or more (number found
> in header) Speex frames. These are identified with packetno starting
> from 2 and the granulepos is the number of the first sample encoded in
> that packet.

In Vorbis and FLAC the granulepos is the last sample, which is decodable
from the packet, so perhaps you should change that.

> The stream is terminated by a packet containing the string ``END OF
> STREAM'' (without terminating null). The the end of stream (e_o_s) flag
> set to 1. The decoder should rely on the e_o_s flag and not on the
> content of the packet.

Seems redundant to me. I'd leave away that special packet and set the e_o_s
flag on the last data packet.

Regards,

Ingo

<p><p><p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list