aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--project/Win32BuildSetup/BuildSetup.bat10
-rw-r--r--project/Win32BuildSetup/copy-pdb.ps16
-rw-r--r--project/cmake/scripts/linux/ExtraTargets.cmake2
-rw-r--r--tools/buildsteps/win32/make-addons.bat2
-rw-r--r--xbmc/GUIInfoManager.cpp8
-rw-r--r--xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp1
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp9
-rw-r--r--xbmc/video/VideoInfoTag.cpp30
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoInfo.cpp21
9 files changed, 49 insertions, 40 deletions
diff --git a/project/Win32BuildSetup/BuildSetup.bat b/project/Win32BuildSetup/BuildSetup.bat
index 2f26ea2464..49b6c42066 100644
--- a/project/Win32BuildSetup/BuildSetup.bat
+++ b/project/Win32BuildSetup/BuildSetup.bat
@@ -58,7 +58,7 @@ FOR %%b in (%1, %2, %3, %4, %5, %6) DO (
IF %%b==sh SET useshell=sh
)
-SET buildconfig=RelWithDebInfo
+SET buildconfig=Release
set WORKSPACE=%CD%\..\..\kodi-build
@@ -218,7 +218,6 @@ set WORKSPACE=%CD%\..\..\kodi-build
CALL extract_git_rev.bat > NUL
SET APP_SETUPFILE=%APP_NAME%Setup-%GIT_REV%-%BRANCH%.exe
SET APP_PDBFILE=%APP_NAME%Setup-%GIT_REV%-%BRANCH%.pdb
- SET APP_PDB_BUNDLE=%APP_NAME%Setup-%GIT_REV%-%BRANCH%-PDB.7z
ECHO Creating installer %APP_SETUPFILE%...
IF EXIST %APP_SETUPFILE% del %APP_SETUPFILE% > NUL
rem get path to makensis.exe from registry, first try tab delim
@@ -262,12 +261,7 @@ set WORKSPACE=%CD%\..\..\kodi-build
set DIETEXT=Failed to create %APP_SETUPFILE%. NSIS installed?
goto DIE
)
- REM copy %PDB% %APP_PDBFILE% > nul
-
- rmdir /S /Q PDB > nul
- md PDB > nul
- powershell -ExecutionPolicy Unrestricted -File .\copy-pdb.ps1
- tools\7z\7za.exe a -bd -r %APP_PDB_BUNDLE% PDB
+ copy %PDB% %APP_PDBFILE% > nul
ECHO ------------------------------------------------------------
ECHO Done!
ECHO Setup is located at %CD%\%APP_SETUPFILE%
diff --git a/project/Win32BuildSetup/copy-pdb.ps1 b/project/Win32BuildSetup/copy-pdb.ps1
deleted file mode 100644
index f421bcbc9c..0000000000
--- a/project/Win32BuildSetup/copy-pdb.ps1
+++ /dev/null
@@ -1,6 +0,0 @@
-Get-ChildItem -Recurse -Include *.pdb -Exclude vc140.pdb,'kodi-test.pdb',gtest.pdb,CMakeCCompilerId.pdb,CMakeCXXCompilerId.pdb,example.pdb ..\.. |
-foreach {
- if (-not $_.DirectoryName.EndsWith('PDB')) {
- Copy-Item $_.FullName (join-path PDB $_.Name)
- }
-} \ No newline at end of file
diff --git a/project/cmake/scripts/linux/ExtraTargets.cmake b/project/cmake/scripts/linux/ExtraTargets.cmake
index 2435908c4a..2bb5f6fa01 100644
--- a/project/cmake/scripts/linux/ExtraTargets.cmake
+++ b/project/cmake/scripts/linux/ExtraTargets.cmake
@@ -3,7 +3,7 @@ if(ENABLE_X11 AND X_FOUND AND XRANDR_FOUND)
find_package(X QUIET)
find_package(XRandR QUIET)
add_executable(${APP_NAME_LC}-xrandr ${CORE_SOURCE_DIR}/xbmc-xrandr.c)
- target_link_libraries(kodi-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES})
+ target_link_libraries(${APP_NAME_LC}-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES})
endif()
# WiiRemote
diff --git a/tools/buildsteps/win32/make-addons.bat b/tools/buildsteps/win32/make-addons.bat
index 473e73a871..efad84a9cf 100644
--- a/tools/buildsteps/win32/make-addons.bat
+++ b/tools/buildsteps/win32/make-addons.bat
@@ -104,7 +104,7 @@ IF "%addon%" NEQ "" (
rem execute cmake to generate makefiles processable by nmake
cmake "%ADDONS_PATH%" -G "NMake Makefiles" ^
- -DCMAKE_BUILD_TYPE=RelWithDebInfo ^
+ -DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_USER_MAKE_RULES_OVERRIDE="%SCRIPTS_PATH%/CFlagOverrides.cmake" ^
-DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX="%SCRIPTS_PATH%/CXXFlagOverrides.cmake" ^
-DCMAKE_INSTALL_PREFIX=%ADDONS_INSTALL_PATH% ^
diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp
index c353b5bc7d..1316f2ae28 100644
--- a/xbmc/GUIInfoManager.cpp
+++ b/xbmc/GUIInfoManager.cpp
@@ -8861,10 +8861,10 @@ std::string CGUIInfoManager::GetVideoLabel(int item)
return epgTag ? epgTag->PlotOutline() : "";
case VIDEOPLAYER_NEXT_STARTTIME:
epgTag = tag->GetEPGNext();
- return epgTag ? epgTag->StartAsLocalTime().GetAsLocalizedTime("", false) : CDateTime::GetCurrentDateTime().GetAsLocalizedTime("", false);
+ return epgTag ? epgTag->StartAsLocalTime().GetAsLocalizedTime("", false) : "";
case VIDEOPLAYER_NEXT_ENDTIME:
epgTag = tag->GetEPGNext();
- return epgTag ? epgTag->EndAsLocalTime().GetAsLocalizedTime("", false) : CDateTime::GetCurrentDateTime().GetAsLocalizedTime("", false);
+ return epgTag ? epgTag->EndAsLocalTime().GetAsLocalizedTime("", false) : "";
case VIDEOPLAYER_NEXT_DURATION:
{
std::string duration;
@@ -10440,7 +10440,6 @@ std::string CGUIInfoManager::GetItemLabel(const CFileItem *item, int info, std::
if (tag)
return tag->StartAsLocalTime().GetAsLocalizedTime("", false);
}
- return CDateTime::GetCurrentDateTime().GetAsLocalizedTime("", false);
case LISTITEM_NEXT_ENDTIME:
if (item->HasPVRChannelInfoTag())
{
@@ -10448,7 +10447,6 @@ std::string CGUIInfoManager::GetItemLabel(const CFileItem *item, int info, std::
if (tag)
return tag->EndAsLocalTime().GetAsLocalizedTime("", false);
}
- return CDateTime::GetCurrentDateTime().GetAsLocalizedTime("", false);
case LISTITEM_NEXT_STARTDATE:
if (item->HasPVRChannelInfoTag())
{
@@ -10456,7 +10454,6 @@ std::string CGUIInfoManager::GetItemLabel(const CFileItem *item, int info, std::
if (tag)
return tag->StartAsLocalTime().GetAsLocalizedDate(true);
}
- return CDateTime::GetCurrentDateTime().GetAsLocalizedDate(true);
case LISTITEM_NEXT_ENDDATE:
if (item->HasPVRChannelInfoTag())
{
@@ -10464,7 +10461,6 @@ std::string CGUIInfoManager::GetItemLabel(const CFileItem *item, int info, std::
if (tag)
return tag->EndAsLocalTime().GetAsLocalizedDate(true);
}
- return CDateTime::GetCurrentDateTime().GetAsLocalizedDate(true);
case LISTITEM_NEXT_PLOT:
if (item->HasPVRChannelInfoTag())
{
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
index dfd307c8e6..a4c3a51df3 100644
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
@@ -227,6 +227,7 @@ int CActiveAEFilter::ProcessFilter(uint8_t **dst_buffer, int dst_samples, uint8_
src_buffer[0], src_bufsize, 16);
if (result < 0)
{
+ av_frame_free(&frame);
CLog::Log(LOGERROR, "CActiveAEFilter::ProcessFilter - avcodec_fill_audio_frame failed");
return -1;
}
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index 368b468f2d..5573f9b0e2 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -1029,15 +1029,16 @@ int CDVDVideoCodecFFmpeg::FilterOpen(const std::string& filters, bool scale)
inputs->pad_idx = 0;
inputs->next = nullptr;
- if ((result = avfilter_graph_parse_ptr(m_pFilterGraph, (const char*)m_filters.c_str(), &inputs, &outputs, NULL)) < 0)
+ result = avfilter_graph_parse_ptr(m_pFilterGraph, (const char*)m_filters.c_str(), &inputs, &outputs, NULL);
+ avfilter_inout_free(&outputs);
+ avfilter_inout_free(&inputs);
+
+ if (result < 0)
{
CLog::Log(LOGERROR, "CDVDVideoCodecFFmpeg::FilterOpen - avfilter_graph_parse");
return result;
}
- avfilter_inout_free(&outputs);
- avfilter_inout_free(&inputs);
-
if (filters.compare(0,5,"yadif") == 0)
{
m_processInfo.SetVideoDeintMethod(filters);
diff --git a/xbmc/video/VideoInfoTag.cpp b/xbmc/video/VideoInfoTag.cpp
index 8e88fbf10f..2423208a33 100644
--- a/xbmc/video/VideoInfoTag.cpp
+++ b/xbmc/video/VideoInfoTag.cpp
@@ -890,20 +890,26 @@ void CVideoInfoTag::ParseNative(const TiXmlElement* movie, bool prioritise)
if (XMLUtils::GetString(movie, "path", value))
SetPath(value);
- if (XMLUtils::GetString(movie, "id", value))
- SetUniqueID(value);
-
- for (const TiXmlElement* uniqueid = movie->FirstChildElement("uniqueid"); uniqueid != nullptr; uniqueid = uniqueid->NextSiblingElement("uniqueid"))
+ const TiXmlElement* uniqueid = movie->FirstChildElement("uniqueid");
+ if (uniqueid == nullptr)
+ {
+ if (XMLUtils::GetString(movie, "id", value))
+ SetUniqueID(value);
+ }
+ else
{
- if (uniqueid->FirstChild())
+ for (; uniqueid != nullptr; uniqueid = uniqueid->NextSiblingElement("uniqueid"))
{
- if (uniqueid->QueryStringAttribute("type", &value) == TIXML_SUCCESS)
- SetUniqueID(uniqueid->FirstChild()->ValueStr(), value);
- else
- SetUniqueID(uniqueid->FirstChild()->ValueStr());
- bool isDefault;
- if ((uniqueid->QueryBoolAttribute("default", &isDefault) == TIXML_SUCCESS) && isDefault)
- m_strDefaultUniqueID = value;
+ if (uniqueid->FirstChild())
+ {
+ if (uniqueid->QueryStringAttribute("type", &value) == TIXML_SUCCESS)
+ SetUniqueID(uniqueid->FirstChild()->ValueStr(), value);
+ else
+ SetUniqueID(uniqueid->FirstChild()->ValueStr());
+ bool isDefault;
+ if ((uniqueid->QueryBoolAttribute("default", &isDefault) == TIXML_SUCCESS) && isDefault)
+ m_strDefaultUniqueID = value;
+ }
}
}
diff --git a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
index f473eaee4b..e2a834610a 100644
--- a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
+++ b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
@@ -183,8 +183,25 @@ bool CGUIDialogVideoInfo::OnMessage(CGUIMessage& message)
}
else if (iControl == CONTROL_BTN_DIRECTOR)
{
- std::string strDirector = StringUtils::Join(m_movieItem->GetVideoInfoTag()->m_director, g_advancedSettings.m_videoItemSeparator);
- OnSearch(strDirector);
+ auto directors = m_movieItem->GetVideoInfoTag()->m_director;
+ if (directors.size() == 0)
+ return true;
+ if (directors.size() == 1)
+ OnSearch(directors[0]);
+ else
+ {
+ auto pDlgSelect = static_cast<CGUIDialogSelect*>(g_windowManager.GetWindow(WINDOW_DIALOG_SELECT));
+ pDlgSelect->Reset();
+ pDlgSelect->SetHeading(CVariant{22080});
+ for (const auto &director: directors)
+ pDlgSelect->Add(director);
+ pDlgSelect->Open();
+
+ int iItem = pDlgSelect->GetSelectedItem();
+ if (iItem < 0)
+ return true;
+ OnSearch(directors[iItem]);
+ }
}
else if (iControl == CONTROL_LIST)
{