Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2013-05-15 18:49:10 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2013-05-15 18:49:10 +0400
commit1f6e3af2c83a766d7d658007fdf5edc6168108b1 (patch)
treec307473b16bb6eec5c9bba71e74949b5ae957d36
parent3267f3cb5209a38d6e196d6ea28de821b14d0820 (diff)
Tweak virtual forced track selection
-rw-r--r--demuxer/LAVSplitter/LAVSplitter.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/demuxer/LAVSplitter/LAVSplitter.cpp b/demuxer/LAVSplitter/LAVSplitter.cpp
index 81cc3e20..3430c275 100644
--- a/demuxer/LAVSplitter/LAVSplitter.cpp
+++ b/demuxer/LAVSplitter/LAVSplitter.cpp
@@ -1460,14 +1460,22 @@ std::list<CSubtitleSelector> CLAVSplitter::GetSubtitleSelectors()
std::string flags = res[4];
if (flags.length() > 0) {
if (flags.find('d') != flags.npos)
- selector.dwFlags |= SUBTITLE_FLAG_DEFAULT | (m_settings.subtitleMode == LAVSubtitleMode_Default ? SUBTITLE_FLAG_VIRTUAL : 0);
+ selector.dwFlags |= SUBTITLE_FLAG_DEFAULT;
if (flags.find('f') != flags.npos)
- selector.dwFlags |= SUBTITLE_FLAG_FORCED | (m_settings.subtitleMode != LAVSubtitleMode_Default ? SUBTITLE_FLAG_VIRTUAL : 0);
+ selector.dwFlags |= SUBTITLE_FLAG_FORCED;
if (flags.find('n') != flags.npos)
selector.dwFlags |= SUBTITLE_FLAG_NORMAL;
if (flags.find('h') != flags.npos)
selector.dwFlags |= SUBTITLE_FLAG_IMPAIRED;
+ if (m_settings.subtitleMode == LAVSubtitleMode_Default) {
+ if (selector.subtitleLanguage == "*" && (selector.dwFlags & SUBTITLE_FLAG_DEFAULT))
+ selector.dwFlags |= SUBTITLE_FLAG_VIRTUAL;
+ } else {
+ if (selector.dwFlags & SUBTITLE_FLAG_FORCED)
+ selector.dwFlags |= SUBTITLE_FLAG_VIRTUAL;
+ }
+
// Check for flag negation
std::string not = res[3];
if (not.length() == 1 && not == "!") {