On 25-Feb-08, at 3:42 PM, Conrad Parker wrote:> ok. If the correct behaviour should be to ignore the incomplete > packet, that should also be clarified in the spec.Fair enough. What if no packet ends on the eos page? What about additional pages after the eos page?> I'd find it useful if it was not considered a structural error, as it > allows us to very simply chop files apart and put them back together. > The eos flag on the page is then a very clear way of saying to ignore > the extra data during decode.There general idea with Ogg has been to distinguish non-fatal from fatal errors. libogg reports these by returning -1 while still returning the next valid bit of data. -r
On 26/02/2008, Ralph Giles <giles@xiph.org> wrote:> On 25-Feb-08, at 3:42 PM, Conrad Parker wrote: > > > ok. If the correct behaviour should be to ignore the incomplete > > packet, that should also be clarified in the spec. > > > Fair enough. What if no packet ends on the eos page? What about > additional pages after the eos page?good point, they've gotta be errors. I've modified oggz-validate to track bos and eos at the page level rather than the packet level, and also to report an error for "eos on page with no completed packets": http://trac.annodex.net/changeset/3493> > I'd find it useful if it was not considered a structural error, as it > > allows us to very simply chop files apart and put them back together. > > The eos flag on the page is then a very clear way of saying to ignore > > the extra data during decode. > > There general idea with Ogg has been to distinguish non-fatal from > fatal errors. libogg reports these by returning -1 while still > returning the next valid bit of data.ok, would non-fatal translate into a SHOULD recommendation in the spec, and fatal translate into a MUST? Conrad.
>> There general idea with Ogg has been to distinguish non-fatal from >> fatal errors. libogg reports these by returning -1 while still >> returning the next valid bit of data. > > ok, would non-fatal translate into a SHOULD recommendation in the > spec, and fatal translate into a MUST?I assume there there are cases where a MUST isn't respected, yet libogg is still able to recover something. If it's just a SHOULD that isn't respected, it shouldn't be considered as an error in the first place. Cheers, Jean-Marc