[vorbis-dev] packet rearranging questions
joshua at haberman.com
Mon Oct 27 23:49:58 PST 2003
Hello again. If you recall, I am the guy working on enabling Audacity
to losslessly rearrange Ogg Vorbis files for my senior thesis. I have
more or less completed the required modifications to Audacity to support
this. You can read more about the work this entailed by reading my
Now my attention moves to the Ogg Vorbis code necessary to do all this
splicing. From reading the Ogg documentation and the vcut source I have
a good understanding of the Ogg format and how I will go about
rearranging Vorbis packets. However I have a few questions I would like
1. how exactly will the overlap/add nature of Vorbis packets affect me
as I attempt to rearrange them? Is it correct to say that for any
Vorbis packet I take from an existing stream (other than the first
packet) I must also take the packet preceding it?
2. When I am grabbing an extra preceding packet as described above,
should I set the granulepos of this preceding packet to 0 so that this
packet itself does not produce any sample data? Will that confuse the
decoder if this is in the middle of a stream?
3. I notice that you can get decoders to discard some of the samples
from the end of a packet by subtracting from the granulepos the number
of samples you want discarded. A similar way to do this for discarding
samples from the beginning of a packet (used by vcut) is to set the
granulepos to -x, where x is the number of samples you want discarded
from the beginning. But will this work in the middle of a stream, where
the granulepos should reflect the total sample offset of the stream?
4. Is it just a special case that it is not possible to discard one
sample from the beginning of a block using this method, since -1 implies
that no packets finish in this block?
I have a few more, but I'll hold off in hopes of getting these answered
for now. :)
--- >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