So, I saw a form of wav header I didn;t know about today. It's not in my (admittedly aging) copy of the RIFF spec from M$, but it's pretty clear how to handle it (mostly in the context of OggEnc). Here's a dump with od -c: 0000000 R I F F 370 357 l 002 W A V E f m t 0000020 020 \0 \0 \0 001 \0 002 \0 D 254 \0 \0 020 261 002 \0 0000040 004 \0 020 \0 P A D 314 017 \0 \0 \0 \0 \0 \0 0000060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0007760 \0 \0 \0 \0 \0 \0 \0 \0 d a t a 300 337 l 002 0010000 373 377 372 377 373 377 370 377 372 377 364 377 373 377 363 377 [...] If you don't want to deal, Mike, I'll fix up OggEnc to deal with it once OggEnc is committed. Monty --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/
Not really sure what you're seeing here that's so abnormal other than the PAD chunk. Many RIFF tools (mosly video encoders) write RIFFs with similar blocks (i.e. JUNK, INFO) Anything reading RIFFs should not have a hard-coded sequence of expected chunks. Any FCC is legal within the context of a RIFF; if a player runs into a chunk with an unknown FCC it's expected to simply ignore it. The only rule for the chunk sequencing in RIFF waveforms is that the fmt chunk occur before the data chunk. Tony Arcieri --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/
People are allowed to use any arbitrary chunk. Often "JUNK" is used to pad out fields but never make an assumption that a chunk is in a fixed place or that it exists (other then DATA). Also when you write out and ogg file please use the "FACT" chunk that stores the number of samples in the original file. On an unrelated note are there redirector files for Ogg streams? (i.e. .pls, .m3u, .asx...) Shawn Pourchot Code Spelunker Sonic Foundry -----Original Message----- From: Anthony Arcieri [mailto:bascule@holly.ColoState.EDU] Sent: Thursday, August 10, 2000 3:12 AM To: vorbis-dev@xiph.org Subject: Re: [vorbis-dev] WAV header (hey Mike)> I know. However, 'PAD ' isn't in the spec, and I didn't recall RIFF > allowing any arbitrary chunk type, although that would seem to be the > case.I'm not sure it's so much a matter of allowing any arbitrary chunk type as it is peopl enjoy writing software that uses arbitrary chunk types. What is in the spec is that players should ignore any types that they don't recognize (as opposed to dying, I suppose) Tony Arcieri --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/