[Matroska-devel] Segment hard/soft/medium linking

Steve Lhomme steve.lhomme at free.fr
Sun Mar 13 21:04:31 CET 2005

utiliser ChapterSegmentUID (permet de lier à la même édition ou aucune 
si l'édition n'est pas trouvée).

Steve Lhomme a écrit :
> Hi,
> As I'm adding support for more complex stuff in VLC, I encountered a pb 
> with segment linking and the demos of Haali.
> Haali uses tags to define what segments should be played and when. I 
> didn't look precisely at the content of his tags, because this is not 
> the way to do it anyway. In short, as I said on IRC, "tags are not meant 
> to influence the content, especially the way it's played". Matroska is 
> modular and tags are not a part that is used for playback.
> Nevertheless, we found a grey area in the specs and some use case might 
> not be covered by our current system. So let's find out what and clarify 
> things for everyone.
> Segment linking is a way to virtually link some segment so that when 
> playback one, you can easily reference the other. So far we have the 
> following :
> - hard linking, that's when you split a segment. The resulting segments 
> have continuous timecodes. They are linked using PrevUID and NextUID. In 
> the end, on playback the user should see them as just one (the original 
> unsplit). Chapters only reference content from the segment they are in 
> (so segments should be merged on playback).
> Hard linking is somehow like .VOB files but in a more liberal way.
> Mosu and alexnoe, could you confirm that splitting works this way in 
> your software ?
> - soft linking, that was recently introduced for the DVD domains. Each 
> chapter is related to the other because they share the same family UID. 
> The timecodes of each segment are independant. That means each segment 
> is standalone, but a chapter codec could reference a segment in the same 
> family, to jump there. This reference is done with the ChapterTranslate 
> table in the segment Info (translate a codec ID to a segment UID).
> Now what Haali is trying to do is somehow different. He wants segments 
> to have the following playback scheme :
> intro -> ep1 -> outro -> intro -> ep2 -> outro
> - I will call that medium linking as it needs features from hard and 
> soft linking. The timecode of the outro has to be independant of the 
> episode. That means hard linking is not possible. Also the NextUID of 
> the intro and the PrevUID of the outro should not be set because they 
> can only reference one item. It could be done with soft linking but we 
> would miss a key feature : each intro+epX+outro would not be seen as one 
> item. That means the total duration would not be specified and the 
> tracks might differ.
> So we might need an additional system for medium linking.
> I'll think about it. But until then, comments/ideas are welcome.
> They are always welcome, anyway..

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

More information about the Matroska-devel mailing list