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

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmada <jules.blok@gmail.com>2013-05-09 15:02:37 +0400
committerArmada <jules.blok@gmail.com>2013-05-09 15:46:56 +0400
commit133957688487995687b204159d28a9a4ff49b162 (patch)
tree6f558f54d7de3c2e1aeeadec925ce06f45c2f15d
parent08fbe0a5add897a257a525ba97129cb78aa3c4ab (diff)
MediaFormats: Exclude non-associable formats from the search for supported extensions unless specified.
Fixes #3091
-rw-r--r--src/mpc-hc/MediaFormats.cpp8
-rw-r--r--src/mpc-hc/MediaFormats.h4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/mpc-hc/MediaFormats.cpp b/src/mpc-hc/MediaFormats.cpp
index fd5db9783..72caa9876 100644
--- a/src/mpc-hc/MediaFormats.cpp
+++ b/src/mpc-hc/MediaFormats.cpp
@@ -332,19 +332,19 @@ engine_t CMediaFormats::GetEngine(CString path) const
return DirectShow;
}
-bool CMediaFormats::FindExt(CString ext, bool fAudioOnly) const
+bool CMediaFormats::FindExt(CString ext, bool fAudioOnly, bool fAssocOnly) const
{
- return (FindMediaByExt(ext, fAudioOnly) != NULL);
+ return (FindMediaByExt(ext, fAudioOnly, fAssocOnly) != NULL);
}
-const CMediaFormatCategory* CMediaFormats::FindMediaByExt(CString ext, bool fAudioOnly) const
+const CMediaFormatCategory* CMediaFormats::FindMediaByExt(CString ext, bool fAudioOnly, bool fAssocOnly) const
{
ext.TrimLeft(_T('.'));
if (!ext.IsEmpty()) {
for (size_t i = 0; i < GetCount(); i++) {
const CMediaFormatCategory& mfc = GetAt(i);
- if ((!fAudioOnly || mfc.IsAudioOnly()) && mfc.FindExt(ext)) {
+ if ((!fAudioOnly || mfc.IsAudioOnly()) && (!fAssocOnly || mfc.IsAssoc()) && mfc.FindExt(ext)) {
return &mfc;
}
}
diff --git a/src/mpc-hc/MediaFormats.h b/src/mpc-hc/MediaFormats.h
index 40f2f582e..2b14b4942 100644
--- a/src/mpc-hc/MediaFormats.h
+++ b/src/mpc-hc/MediaFormats.h
@@ -99,8 +99,8 @@ public:
bool IsUsingEngine(CString path, engine_t e) const;
engine_t GetEngine(CString path) const;
- bool FindExt(CString ext, bool fAudioOnly = false) const;
- const CMediaFormatCategory* FindMediaByExt(CString ext, bool fAudioOnly = false) const;
+ bool FindExt(CString ext, bool fAudioOnly = false, bool fAssocOnly = true) const;
+ const CMediaFormatCategory* FindMediaByExt(CString ext, bool fAudioOnly = false, bool fAssocOnly = true) const;
void GetFilter(CString& filter, CAtlArray<CString>& mask) const;
void GetAudioFilter(CString& filter, CAtlArray<CString>& mask) const;