[Vorbis-dev] vorbisfile timestamp oddity

Glenn Maynard g_ogg
Sun Jun 6 21:39:31 PDT 2004


I'm seeing some inconsistency in returned timestamps using vorbisfile.

I open a file, read some data (grabbing timestamps with ov_pcm_tell),
then seek back with ov_pcm_seek(vf, 0) and read it again.

The seek lands back on 0, but on the second read through, there's a gap
in the timestamps: they jumps up by 2112 frames.  This causes my vorbisfile
code to insert silence to maintain sync (as if there was a hole), and one
of my test cases fails: "reading data, rewinding and reading it again must
always give the same results".  (This also fails if I disable hole-padding.)

More specifically, ov_pcm_tell returns 0 after the seek, and 3136 after
reading 1024 frames.  OV_HOLE is never returned.  (On the first read through,
it returns 1024 after reading 1024 frames, as expected.)

ogginfo says:
Warning: Vorbis stream 1 does not have headers correctly framed.
Terminal header page contains additional packets or has non-zero granulepos
Vendor: Xiphophorus libVorbis I 20011231 (1.0 rc3)
Warning: EOS not set on stream 1

The file is available at ftp://zewt.org/local/test.ogg, if anyone wants
to take a look.

--
Glenn Maynard


More information about the Vorbis-dev mailing list