dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Ang: Re: Ang: Re: Vorbis metadata

Ang: Re: Ang: Re: Vorbis metadata

From: <>
Date: Mon, 20 Jun 2005 15:55:06 +0200 (MEST)

>The existing Ogg parser (in the same way as all the other parsers)
>currently converts the sample count to a duration in ms before storing
>it with the metadata about the file. So yes, unless that part of
>Rockbox changes, the duration in ms is all that's needed.
>But how do you calculate the length in ms without calculating the total
>samples? Is that information stored somewhere in the Ogg headers?

Well, I don't do much, vorbisfile.c does. :) It appears to be based on the
granulepos, which is a part of each ogg page. And the problem with sample
count was that I had to remove some calculations related to a field called
pcm_offset, and I wasn't sure at the time what it was used for.

I've looked at the memory usage a bit now, and it isn't great. To get full
information (including length), it needs up to 120 kB or so, on the test
files I've used (and that's excluding some alloca() stuff). A bit much for
static allocation, though in the iRiver case, not too bad really. :)

Btw, I had a look at the existing Ogg parser, and I noticed it doesn't handled
chained streams well. In those cases there are several end-of-stream pages
in one file, and they should be accumulated for the total length.


Received on 2005-06-20

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy