[Matroska-devel] WavPack in Matroska

Steve Lhomme steve.lhomme at free.fr
Sat Jul 3 12:33:52 CEST 2004

Moritz Bunkus a écrit :

>>- We could also use 2 files. But IMO that's not very clean even though 
>>the possibility should exist.
> Yuck!

Well, that's how it's done now. But without any container. The .wvc file 
has no tags, no nothing, just the complementary data. These data mean 
nothing wihtout the original .wv file. That's why from our point of view 
it's better to have everything in the same file.

>>- Put the 2 "parallel" streams in one Matroska file. The options are :
>>* have a track for each, which a codec ID for each, each distinct from 
>>the normal codec ID of WavPack
> Hmm yes, could be done. I'm not sure I like it, though, because
> splitters might try to create a 'pin' (DShow terms) for that track as
> well. If we do that we might need a new element in the track headers:
> LinkedTrack or sth similar which contains the UID that this track
> belongs to so that when remuxing this track will always be copied if the
> 'parent' is copied as well.

Yes, I'm not sure if we have a flag to hide tracks or not. Also a 
Control Track wouldn't help much here.

>>* have the lossy in one track and the complement attached (since it 
>>can't be used without the lossy part)
> Sucks, because the decoder needs the attached part. So the
> splitter/demuxer will have to read/parse the attachments as well and
> hand that data over to the decoder. What if that attachment is really
> big - like 50MB or sth like that? This would put a lot of strain on the
> complete system.


>>* have both muxed in a single track. Maybe that's the way a normal 
>>WavPack block is done, so it would be fully compatible with the normal 
>>WavPack codec ID. We would only need a different codec ID when the 
>>complement is not put in the track.
> To be honest this would be the easiest way to do it. The other systems
> need heavy modification of every demuxer out there...
> So I'd favor the last option.

Yes, but I think that's probably not the way WavPack works now. At least 
for the normal mode. If David says that the library can handle that then 
it's the way to go.

The thing other point is the Codec ID. We need one for :
1) normal WavPack
2) WavPack lossy mixed with Complement
3) WavPack lossy alone

It could all be using the same Codec ID. And we add something in the 
Codec Private to state which mode is used.

robUx4 on blog <http://robux4.blogspot.com/>

More information about the Matroska-devel mailing list