17 lines
708 B
Dart
17 lines
708 B
Dart
import '../media/media_source_info.dart';
|
|||
|
|
import '../mpv/mpv.dart';
|
||
|
|
import 'track_label_builder.dart';
|
||
|
|
|
||
|
|
/// Effective forced-ness, mirroring server behavior (#1716/#1717): a subtitle
|
||
|
|
/// stream counts as forced when its flag is set OR its title says "forced".
|
||
|
|
/// Every forced comparison must use these getters on BOTH sides — the raw
|
||
|
|
/// flags stay untouched so parsing and the file-info UI keep server truth.
|
||
|
|
|
||
|
|
extension MediaSubtitleTrackForcedSemantics on MediaSubtitleTrack {
|
||
|
|
bool get effectiveForced => forced || titleSaysForced(title) || titleSaysForced(displayTitle);
|
||
|
|
}
|
||
|
|
|
||
|
|
extension SubtitleTrackForcedSemantics on SubtitleTrack {
|
||
|
|
bool get effectiveForced => isForced || titleSaysForced(title);
|
||
|
|
}
|