void TextTrackManager::HonorUserPreferencesForTrackSelection() { if (performedTrackSelection) { return; } TextTrackKind ttKinds[] = { TextTrackKind::Captions, TextTrackKind::Subtitles }; // Steps 1 - 3: Perform automatic track selection for different TextTrack // Kinds. PerformTrackSelection(ttKinds, ArrayLength(ttKinds)); PerformTrackSelection(TextTrackKind::Descriptions); PerformTrackSelection(TextTrackKind::Chapters); // Step 4: Set all TextTracks with a kind of metadata that are disabled // to hidden. for (uint32_t i = 0; i < mTextTracks->Length(); i++) { TextTrack* track = (*mTextTracks)[i]; if (track->Kind() == TextTrackKind::Metadata && TrackIsDefault(track) && track->Mode() == TextTrackMode::Disabled) { track->SetMode(TextTrackMode::Hidden); } } performedTrackSelection = true; }
void TextTrackManager::GetTextTracksOfKind(TextTrackKind aTextTrackKind, nsTArray<TextTrack*>& aTextTracks) { for (uint32_t i = 0; i < mTextTracks->Length(); i++) { TextTrack* textTrack = (*mTextTracks)[i]; if (textTrack->Kind() == aTextTrackKind) { aTextTracks.AppendElement(textTrack); } } }