diff options
-rw-r--r-- | remuxer/src/lib.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs index feb4c44..71b86b1 100644 --- a/remuxer/src/lib.rs +++ b/remuxer/src/lib.rs @@ -209,18 +209,18 @@ impl RemuxerContext { segment_layout .iter() .map(|cluster| { - // TODO this is hardcoded for now - MatroskaTag::CuePoint(Master::Collected(vec![ - MatroskaTag::CueTime(cluster.timestamp), - MatroskaTag::CueTrackPositions(Master::Collected(vec![ - MatroskaTag::CueTrack(0), - MatroskaTag::CueClusterPosition(cluster.position as u64), - ])), - MatroskaTag::CueTrackPositions(Master::Collected(vec![ - MatroskaTag::CueTrack(1), - MatroskaTag::CueClusterPosition(cluster.position as u64), - ])), - ])) + MatroskaTag::CuePoint(Master::Collected( + Some(MatroskaTag::CueTime(cluster.timestamp)) + .into_iter() + // TODO: Subtitles should not have cues for every cluster + .chain(inputs.iter().map(|i| { + MatroskaTag::CueTrackPositions(Master::Collected(vec![ + MatroskaTag::CueTrack(i.mapped), + MatroskaTag::CueClusterPosition(cluster.position as u64), + ])) + })) + .collect(), + )) }) .collect(), )))?; |