diff options
-rw-r--r-- | project/Win32BuildSetup/BuildSetup.bat | 10 | ||||
-rw-r--r-- | project/Win32BuildSetup/copy-pdb.ps1 | 6 | ||||
-rw-r--r-- | project/cmake/scripts/linux/ExtraTargets.cmake | 2 | ||||
-rw-r--r-- | tools/buildsteps/win32/make-addons.bat | 2 | ||||
-rw-r--r-- | xbmc/GUIInfoManager.cpp | 8 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp | 1 | ||||
-rw-r--r-- | xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 9 | ||||
-rw-r--r-- | xbmc/video/VideoInfoTag.cpp | 30 | ||||
-rw-r--r-- | xbmc/video/dialogs/GUIDialogVideoInfo.cpp | 21 |
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) { |