Changeset 1021

Show
Ignore:
Timestamp:
01/22/09 23:03:29 (1 year ago)
Author:
dconrad
Message:

FFmpeg used to write a TrackDefault? flag of 0 for mkv, disabling all tracks. Thus, ensure a track is enabled in this case.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/MatroskaImportPrivate.cpp

    r1014 r1021  
    356356                SetTrackEnabled(tracks[i].theTrack, tracks[i].isEnabled); 
    357357        } 
     358        // ensure that at least one track in each alternate group (type) is enabled 
     359        // ffmpeg used to write a TrackDefault of 0 for all tracks 
     360        for (int i = 0; i < tracks.size(); i++) { 
     361                if (!GetTrackEnabled(tracks[i].theTrack)) { 
     362                        Track alternate = GetTrackAlternate(tracks[i].theTrack); 
     363                        while (alternate != tracks[i].theTrack && !GetTrackEnabled(alternate)) 
     364                                alternate = GetTrackAlternate(alternate); 
     365                        if (alternate == tracks[i].theTrack) 
     366                                SetTrackEnabled(tracks[i].theTrack, 1); 
     367                } 
     368        } 
    358369        seenTracks = true; 
    359370        return noErr;