Skip to content

Commit

Permalink
add global setting for mkv segment search directorys
Browse files Browse the repository at this point in the history
  • Loading branch information
Moritz Patelscheck committed Nov 22, 2016
1 parent c6e728b commit 5a69e56
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
3 changes: 2 additions & 1 deletion xbmc/cores/VideoPlayer/DVDDemuxers/DemuxTimeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "filesystem/File.h"
#include "filesystem/Directory.h"
#include "MatroskaParser.h"
#include "settings/AdvancedSettings.h"
#include "utils/log.h"
#include "utils/StringUtils.h"

Expand Down Expand Up @@ -224,7 +225,7 @@ CDemuxTimeline* CDemuxTimeline::CreateTimeline(CDVDDemux *primaryDemuxer)
std::map<MatroskaSegmentUID,CDVDDemux*> segmentDemuxer;
segmentDemuxer[""] = primaryDemuxer;
segmentDemuxer[mkv.segment.infos.uid] = primaryDemuxer;
std::list<std::string> searchDirs({""}); // should be a global setting
auto &searchDirs = g_advancedSettings.m_videoMkvSegmentsSearchDirs;
std::string filename = primaryDemuxer->GetFileName();
std::string dirname = filename.substr(0, filename.rfind('/') + 1);
for (auto &subDir : searchDirs)
Expand Down
6 changes: 6 additions & 0 deletions xbmc/settings/AdvancedSettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,12 @@ void CAdvancedSettings::ParseSettingsFile(const std::string &file)

XMLUtils::GetBoolean(pElement,"mediacodecforcesoftwarerendering",m_mediacodecForceSoftwareRendring);

auto pMkvSegmentsSearchDirs = pElement->FirstChildElement("mkvsegmentssearchdirs");
if (pMkvSegmentsSearchDirs)
XMLUtils::GetStringArray(pMkvSegmentsSearchDirs, "subdir", m_videoMkvSegmentsSearchDirs, true, "");
else
m_videoMkvSegmentsSearchDirs = std::vector<std::string>{""};

TiXmlElement* pAdjustRefreshrate = pElement->FirstChildElement("adjustrefreshrate");
if (pAdjustRefreshrate)
{
Expand Down
2 changes: 2 additions & 0 deletions xbmc/settings/AdvancedSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ class CAdvancedSettings : public ISettingCallback, public ISettingsHandler
std::string m_videoDefaultPlayer;
float m_videoPlayCountMinimumPercent;

std::vector<std::string> m_videoMkvSegmentsSearchDirs;

float m_slideshowBlackBarCompensation;
float m_slideshowZoomAmount;
float m_slideshowPanAmount;
Expand Down

0 comments on commit 5a69e56

Please sign in to comment.