diff -Nru kodi-18.0+git20181103.0202-0307cad/BUILDDATE kodi-18.0+git20181104.0201-4dda45c/BUILDDATE --- kodi-18.0+git20181103.0202-0307cad/BUILDDATE 2018-11-03 01:02:11.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/BUILDDATE 2018-11-04 01:01:49.000000000 +0000 @@ -1 +1 @@ -20181103 +20181104 diff -Nru kodi-18.0+git20181103.0202-0307cad/cmake/installdata/windows/dlls.txt kodi-18.0+git20181104.0201-4dda45c/cmake/installdata/windows/dlls.txt --- kodi-18.0+git20181103.0202-0307cad/cmake/installdata/windows/dlls.txt 2018-05-01 00:00:10.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/cmake/installdata/windows/dlls.txt 2018-11-04 01:01:33.000000000 +0000 @@ -1,3 +1,2 @@ project/BuildDependencies/${ARCH}/bin/libbluray*.jar . project/BuildDependencies/${ARCH}/bin/*.dll . -project/BuildDependencies/mingwlibs/${ARCH}/bin/*.dll . diff -Nru kodi-18.0+git20181103.0202-0307cad/cmake/installdata/windowsstore/dlls.txt kodi-18.0+git20181104.0201-4dda45c/cmake/installdata/windowsstore/dlls.txt --- kodi-18.0+git20181103.0202-0307cad/cmake/installdata/windowsstore/dlls.txt 2018-05-01 00:00:10.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/cmake/installdata/windowsstore/dlls.txt 2018-11-04 01:01:33.000000000 +0000 @@ -1,2 +1 @@ project/BuildDependencies/win10-${ARCH}/bin/*.dll dlls -project/BuildDependencies/mingwlibs/win10-${ARCH}/bin/*.dll dlls diff -Nru kodi-18.0+git20181103.0202-0307cad/cmake/scripts/windows/ArchSetup.cmake kodi-18.0+git20181104.0201-4dda45c/cmake/scripts/windows/ArchSetup.cmake --- kodi-18.0+git20181103.0202-0307cad/cmake/scripts/windows/ArchSetup.cmake 2018-06-21 18:59:46.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/cmake/scripts/windows/ArchSetup.cmake 2018-11-04 01:01:33.000000000 +0000 @@ -32,9 +32,9 @@ set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/${ARCH}) set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/${ARCH}) -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) -list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) +list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR}) +list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) +list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR}) set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) # -------- Compiler options --------- @@ -73,8 +73,8 @@ link_directories(${DEPENDENCIES_DIR}/lib) # Additional libraries -list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib - PowrProf.lib setupapi.lib dwmapi.lib dxguid.lib DelayImp.lib) +list(APPEND DEPLIBS bcrypt.lib d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib + PowrProf.lib setupapi.lib Shlwapi.lib dwmapi.lib dxguid.lib DelayImp.lib) # NODEFAULTLIB option set(_nodefaultlibs_RELEASE libcmt) @@ -88,8 +88,7 @@ # DELAYLOAD option set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll - avcodec-58.dll avfilter-7.dll avformat-58.dll avutil-56.dll - postproc-55.dll swresample-3.dll swscale-5.dll d3dcompiler_47.dll) + d3dcompiler_47.dll) foreach(_lib ${_delayloadlibs}) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") endforeach() diff -Nru kodi-18.0+git20181103.0202-0307cad/cmake/scripts/windowsstore/ArchSetup.cmake kodi-18.0+git20181104.0201-4dda45c/cmake/scripts/windowsstore/ArchSetup.cmake --- kodi-18.0+git20181103.0202-0307cad/cmake/scripts/windowsstore/ArchSetup.cmake 2018-06-21 18:59:46.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/cmake/scripts/windowsstore/ArchSetup.cmake 2018-11-04 01:01:33.000000000 +0000 @@ -49,10 +49,10 @@ set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-${ARCH}) # mingw libs -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) -list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) +list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR}) +list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) # dependencies -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) +list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR}) # for python set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) @@ -91,7 +91,7 @@ link_directories(${MINGW_LIBS_DIR}/lib ${DEPENDENCIES_DIR}/lib) -list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) +list(APPEND DEPLIBS bcrypt.lib d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO") set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF") diff -Nru kodi-18.0+git20181103.0202-0307cad/debian/changelog kodi-18.0+git20181104.0201-4dda45c/debian/changelog --- kodi-18.0+git20181103.0202-0307cad/debian/changelog 2018-11-03 01:12:06.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/debian/changelog 2018-11-04 01:11:41.000000000 +0000 @@ -1,4 +1,38 @@ -kodi (2:18.0+git20181103.0202-0307cad-0xenial) xenial; urgency=high +kodi (2:18.0+git20181104.0201-4dda45c-0xenial) xenial; urgency=high + + [Martijn Kaijser] + * bump to v18.0 RC1 + + [Martijn Kaijser] + * [droid] bump version_code in version.txt because of Play Store + + [Rechi] + * FFmpeg: Bump to 4.0.3-Leia-Beta5 + + [DaveTBlake] + * Allow remote access to images embedded in music or video files (on sources that allow share), and to artist art in the nominated Artist Information folder + + [Rechi] + * [windows] bump OpenSSL to 1.1.1 + + [Rechi] + * [windows] build FFmpeg static + + [Rechi] + * [cpluff] rename functions to not conflict with mariadb-connector + + [Lukas Rusak] + * Revert "windowing/gbm: add VT handler" + + [Ryan Rector] + * whitelist movie set artwork from scrapers/NFO files + + [Ryan Rector] + * [videodb] fix: new query in HasArtForItem + + [Ryan Rector] + * VideoThumbLoader: "Choose art" don't add duplicate types + [DaveTBlake] * Include auto-mounted drives as sources in remote access allowed check diff -Nru kodi-18.0+git20181103.0202-0307cad/debian/changelog.tmp kodi-18.0+git20181104.0201-4dda45c/debian/changelog.tmp --- kodi-18.0+git20181103.0202-0307cad/debian/changelog.tmp 2018-11-03 01:02:41.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/debian/changelog.tmp 2018-11-04 01:02:18.000000000 +0000 @@ -1,4 +1,38 @@ -kodi (2:18.0+git20181103.0202-0307cad-0dist) dist; urgency=high +kodi (2:18.0+git20181104.0201-4dda45c-0dist) dist; urgency=high + + [Martijn Kaijser] + * bump to v18.0 RC1 + + [Martijn Kaijser] + * [droid] bump version_code in version.txt because of Play Store + + [Rechi] + * FFmpeg: Bump to 4.0.3-Leia-Beta5 + + [DaveTBlake] + * Allow remote access to images embedded in music or video files (on sources that allow share), and to artist art in the nominated Artist Information folder + + [Rechi] + * [windows] bump OpenSSL to 1.1.1 + + [Rechi] + * [windows] build FFmpeg static + + [Rechi] + * [cpluff] rename functions to not conflict with mariadb-connector + + [Lukas Rusak] + * Revert "windowing/gbm: add VT handler" + + [Ryan Rector] + * whitelist movie set artwork from scrapers/NFO files + + [Ryan Rector] + * [videodb] fix: new query in HasArtForItem + + [Ryan Rector] + * VideoThumbLoader: "Choose art" don't add duplicate types + [DaveTBlake] * Include auto-mounted drives as sources in remote access allowed check diff -Nru kodi-18.0+git20181103.0202-0307cad/debian/changelog.tmp.old kodi-18.0+git20181104.0201-4dda45c/debian/changelog.tmp.old --- kodi-18.0+git20181103.0202-0307cad/debian/changelog.tmp.old 2018-11-03 01:02:11.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/debian/changelog.tmp.old 2018-11-04 01:01:49.000000000 +0000 @@ -1,5 +1,15 @@ kodi (2:18.0+git20180719.0202-3231481-0dist) dist; urgency=high + [DaveTBlake] + * Include auto-mounted drives as sources in remote access allowed check + + [ronie] + * [python-scrapers] extended music artwork + + [VelocityRa] + * [xbmc][settings][GL][DX]: Remove test patterns + + [peak3d] * [Android] Wait 2000 instead 500ms until videoview is created diff -Nru kodi-18.0+git20181103.0202-0307cad/lib/cpluff/CMakeLists.txt kodi-18.0+git20181104.0201-4dda45c/lib/cpluff/CMakeLists.txt --- kodi-18.0+git20181103.0202-0307cad/lib/cpluff/CMakeLists.txt 2018-06-21 18:59:46.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/lib/cpluff/CMakeLists.txt 2018-11-04 01:01:33.000000000 +0000 @@ -46,6 +46,8 @@ $ ) +target_compile_definitions(${PROJECT_NAME} PRIVATE -Dhash_delete=kazlib_hash_delete -Dhash_free=kazlib_hash_free -Dhash_insert=kazlib_hash_insert -Dlist_delete=kazlib_list_delete) + target_compile_definitions(${PROJECT_NAME} PRIVATE XML_STATIC Binary files /tmp/tmpsLhNfp/o8skB7Yglm/kodi-18.0+git20181103.0202-0307cad/media/splash.jpg and /tmp/tmpsLhNfp/7Q3cdUiLR2/kodi-18.0+git20181104.0201-4dda45c/media/splash.jpg differ diff -Nru kodi-18.0+git20181103.0202-0307cad/project/BuildDependencies/scripts/0_package.target-x64.list kodi-18.0+git20181104.0201-4dda45c/project/BuildDependencies/scripts/0_package.target-x64.list --- kodi-18.0+git20181103.0202-0307cad/project/BuildDependencies/scripts/0_package.target-x64.list 2018-10-23 16:19:50.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/project/BuildDependencies/scripts/0_package.target-x64.list 2018-11-04 01:01:33.000000000 +0000 @@ -7,7 +7,7 @@ ; -> ... ;PLEASE KEEP THIS LIST IN ALPHABETICAL ORDER! crossguid-fef89a4-x64-vc140.7z -curl-7.59.0-x64-v140.7z +curl-7.61.1-x64-v141.7z dnssd-765.50.9-x64-vc140-v2.7z easyhook-2.7.6035.0-x64-vc140.7z expat-2.2.0-x64-vc140.7z @@ -30,8 +30,8 @@ libxslt-1.1.29-x64-vc140.7z lzo-2.09-x64-vc140.7z mini_wdk-10.0.14393.0-x64.7z -mysql-connector-c-6.1.9-x64-vc140.7z -openssl-1.0.2k-x64-vc140.7z +mariadb-connector-c-3.0.6-x64-v141.7z +openssl-1.1.1-x64-v141.7z pcre-8.40-x64-vc140.7z pillow-4.2.1-x64-vc140.zip pycryptodome-3.4.7-x64-vc140.zip diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/buildffmpeg.sh kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/buildffmpeg.sh --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/buildffmpeg.sh 2018-06-21 18:59:47.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/buildffmpeg.sh 2018-11-04 01:01:33.000000000 +0000 @@ -121,7 +121,7 @@ [[ -z "$extra_ldflags" ]] && extra_ldflags=-static-libgcc $LOCALSRCDIR/configure --target-os=$FFMPEG_TARGET_OS --prefix=$FFMPEGDESTDIR --arch=$ARCH \ - --disable-static --enable-shared $FFMPEG_OPTS_SHARED \ + $FFMPEG_OPTS_SHARED \ --extra-cflags="$extra_cflags" --extra-ldflags="$extra_ldflags" do_makelib diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/ffmpeg_options.txt kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/ffmpeg_options.txt --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/ffmpeg_options.txt 2018-05-01 00:00:18.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/ffmpeg_options.txt 2018-11-04 01:01:33.000000000 +0000 @@ -8,11 +8,11 @@ --disable-nvenc --disable-openssl --disable-programs ---disable-static +--disable-shared --enable-encoder=ac3,aac,wmav2,png,mjpeg --enable-muxer=spdif,adts,asf,ipod --enable-postproc --enable-protocol=http --enable-runtime-cpudetect ---enable-shared +--enable-static --enable-zlib diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/make-mingwlibs.sh kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/make-mingwlibs.sh --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/make-mingwlibs.sh 2018-11-02 01:01:59.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/make-mingwlibs.sh 2018-11-04 01:01:33.000000000 +0000 @@ -64,8 +64,8 @@ checkfiles() { for i in $@; do - if [ ! -f "$PREFIX/bin/$i" ]; then - throwerror "$PREFIX/bin/$i" + if [ ! -f "$PREFIX/$i" ]; then + throwerror "$PREFIX/$i" exit 1 fi done @@ -98,7 +98,7 @@ echo " building FFmpeg $TRIPLET" echo "-------------------------------------------------" ./buildffmpeg.sh $MAKECLEAN -checkfiles avcodec-58.dll avformat-58.dll avutil-56.dll postproc-55.dll swscale-5.dll avfilter-7.dll swresample-3.dll +checkfiles lib/avcodec.lib lib/avformat.lib lib/avutil.lib lib/postproc.lib lib/swscale.lib lib/avfilter.lib lib/swresample.lib echo "-------------------------------------------------" echo " building of FFmpeg $TRIPLET done..." echo "-------------------------------------------------" diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0001-ffmpeg-detect-openssl.patch kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0001-ffmpeg-detect-openssl.patch --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0001-ffmpeg-detect-openssl.patch 2018-07-31 18:47:38.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0001-ffmpeg-detect-openssl.patch 2018-11-04 01:01:33.000000000 +0000 @@ -12,10 +12,11 @@ index a1818dc..1cf2a7c 100755 --- a/configure +++ b/configure -@@ -6125,6 +6125,7 @@ +@@ -6147,6 +6147,8 @@ check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || ++ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -llibssl -llibcrypto -lws2_32 -lgdi32 -ladvapi32 -luser32 || + check_lib openssl openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || die "ERROR: openssl not found"; } enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0002-ffmpeg-zlib-config-conflict.patch kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0002-ffmpeg-zlib-config-conflict.patch --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0002-ffmpeg-zlib-config-conflict.patch 2018-07-31 18:47:38.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0002-ffmpeg-zlib-config-conflict.patch 2018-11-04 01:01:33.000000000 +0000 @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -7144,6 +7144,9 @@ +@@ -7197,6 +7197,9 @@ $CONFIG_EXTRA \ $ALL_COMPONENTS \ diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0003-ffmpeg-static.patch kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0003-ffmpeg-static.patch --- kodi-18.0+git20181103.0202-0307cad/tools/buildsteps/windows/patches/0003-ffmpeg-static.patch 1970-01-01 00:00:00.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/buildsteps/windows/patches/0003-ffmpeg-static.patch 2018-11-04 01:01:33.000000000 +0000 @@ -0,0 +1,20 @@ +--- a/configure ++++ b/configure +@@ -5131,6 +5131,8 @@ + enabled shared && ! enabled small && test_cmd $windres --version && enable gnu_windres + enabled x86_32 && check_ldflags -Wl,--large-address-aware + shlibdir_default="$bindir_default" ++ LIBPREF="" ++ LIBSUF=".lib" + SLIBPREF="" + SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' +@@ -5180,6 +5182,8 @@ + fi + enabled x86_32 && check_ldflags -LARGEADDRESSAWARE + shlibdir_default="$bindir_default" ++ LIBPREF="" ++ LIBSUF=".lib" + SLIBPREF="" + SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' Binary files /tmp/tmpsLhNfp/o8skB7Yglm/kodi-18.0+git20181103.0202-0307cad/tools/depends/target/ffmpeg/ffmpeg-4.0.2-Leia-Alpha3.tar.gz and /tmp/tmpsLhNfp/7Q3cdUiLR2/kodi-18.0+git20181104.0201-4dda45c/tools/depends/target/ffmpeg/ffmpeg-4.0.2-Leia-Alpha3.tar.gz differ Binary files /tmp/tmpsLhNfp/o8skB7Yglm/kodi-18.0+git20181103.0202-0307cad/tools/depends/target/ffmpeg/ffmpeg-4.0.3-Leia-Beta5.tar.gz and /tmp/tmpsLhNfp/7Q3cdUiLR2/kodi-18.0+git20181104.0201-4dda45c/tools/depends/target/ffmpeg/ffmpeg-4.0.3-Leia-Beta5.tar.gz differ diff -Nru kodi-18.0+git20181103.0202-0307cad/tools/depends/target/ffmpeg/FFMPEG-VERSION kodi-18.0+git20181104.0201-4dda45c/tools/depends/target/ffmpeg/FFMPEG-VERSION --- kodi-18.0+git20181103.0202-0307cad/tools/depends/target/ffmpeg/FFMPEG-VERSION 2018-07-31 18:47:38.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/tools/depends/target/ffmpeg/FFMPEG-VERSION 2018-11-04 01:01:33.000000000 +0000 @@ -1,4 +1,4 @@ LIBNAME=ffmpeg BASE_URL=https://github.com/xbmc/FFmpeg -VERSION=4.0.2-Leia-Alpha3 +VERSION=4.0.3-Leia-Beta5 ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz diff -Nru kodi-18.0+git20181103.0202-0307cad/VERSION kodi-18.0+git20181104.0201-4dda45c/VERSION --- kodi-18.0+git20181103.0202-0307cad/VERSION 2018-11-03 01:02:11.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/VERSION 2018-11-04 01:01:49.000000000 +0000 @@ -1 +1 @@ -0307cad +4dda45c diff -Nru kodi-18.0+git20181103.0202-0307cad/version.txt kodi-18.0+git20181104.0201-4dda45c/version.txt --- kodi-18.0+git20181103.0202-0307cad/version.txt 2018-10-24 00:01:35.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/version.txt 2018-11-04 01:01:33.000000000 +0000 @@ -4,9 +4,9 @@ WEBSITE http://kodi.tv VERSION_MAJOR 18 VERSION_MINOR 0 -VERSION_TAG BETA5 -VERSION_CODE 17.99.805 -ADDON_API 17.9.805 +VERSION_TAG RC1 +VERSION_CODE 17.99.910 +ADDON_API 17.9.910 APP_PACKAGE org.xbmc.kodi PACKAGE_IDENTITY XBMCFoundation.Kodi PACKAGE_PUBLISHER C62BD90A-CDD8-477F-96C3-B25992247B97 diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/filesystem/SpecialProtocol.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/filesystem/SpecialProtocol.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/filesystem/SpecialProtocol.cpp 2018-10-23 16:19:50.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/filesystem/SpecialProtocol.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -160,6 +160,8 @@ translatedPath = URIUtils::AddFileToFolder(CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(CSettings::SETTING_AUDIOCDS_RECORDINGPATH), FileName); else if (RootDir == "screenshots") translatedPath = URIUtils::AddFileToFolder(CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(CSettings::SETTING_DEBUG_SCREENSHOTPATH), FileName); + else if (RootDir == "musicartistsinfo") + translatedPath = URIUtils::AddFileToFolder(CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(CSettings::SETTING_MUSICLIBRARY_ARTISTSFOLDER), FileName); else if (RootDir == "musicplaylists") translatedPath = URIUtils::AddFileToFolder(CUtil::MusicPlaylistsLocation(), FileName); else if (RootDir == "videoplaylists") diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/settings/AdvancedSettings.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/settings/AdvancedSettings.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/settings/AdvancedSettings.cpp 2018-10-24 00:01:35.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/settings/AdvancedSettings.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -321,6 +321,7 @@ m_videoTvShowExtraArt = {}; m_videoTvSeasonExtraArt = {}; m_videoMovieExtraArt = {}; + m_videoMovieSetExtraArt = {}; m_videoMusicVideoExtraArt = {}; m_iEpgUpdateCheckInterval = 300; /* check if tables need to be updated every 5 minutes */ @@ -800,6 +801,7 @@ SetExtraArtwork(pElement->FirstChildElement("tvshowextraart"), m_videoTvShowExtraArt); SetExtraArtwork(pElement->FirstChildElement("tvseasonextraart"), m_videoTvSeasonExtraArt); SetExtraArtwork(pElement->FirstChildElement("movieextraart"), m_videoMovieExtraArt); + SetExtraArtwork(pElement->FirstChildElement("moviesetextraart"), m_videoMovieSetExtraArt); SetExtraArtwork(pElement->FirstChildElement("musicvideoextraart"), m_videoMusicVideoExtraArt); } diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/settings/AdvancedSettings.h kodi-18.0+git20181104.0201-4dda45c/xbmc/settings/AdvancedSettings.h --- kodi-18.0+git20181103.0202-0307cad/xbmc/settings/AdvancedSettings.h 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/settings/AdvancedSettings.h 2018-11-04 01:01:33.000000000 +0000 @@ -269,6 +269,7 @@ std::vector m_videoTvShowExtraArt; std::vector m_videoTvSeasonExtraArt; std::vector m_videoMovieExtraArt; + std::vector m_videoMovieSetExtraArt; std::vector m_videoMusicVideoExtraArt; bool m_bVideoScannerIgnoreErrors; diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/utils/FileUtils.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/utils/FileUtils.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/utils/FileUtils.cpp 2018-11-03 01:01:58.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/utils/FileUtils.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -236,10 +236,12 @@ // ALLOW kodi paths const std::vector whitelist = { CSpecialProtocol::TranslatePath("special://home"), - CSpecialProtocol::TranslatePath("special://xbmc") + CSpecialProtocol::TranslatePath("special://xbmc"), + CSpecialProtocol::TranslatePath("special://musicartistsinfo") }; // image urls come in the form of image://... sometimes with a / appended at the end + // and can be embedded in a music or video file image://music@... // strip this off to get the real file path bool isImage = false; std::string decodePath = CURL::Decode(filePath); @@ -249,6 +251,8 @@ isImage = true; decodePath.erase(pos, 8); URIUtils::RemoveSlashAtEnd(decodePath); + if (StringUtils::StartsWith(decodePath, "music@") || StringUtils::StartsWith(decodePath, "video@")) + decodePath.erase(pos, 6); } // check blacklist diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoDatabase.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoDatabase.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoDatabase.cpp 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoDatabase.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -4515,7 +4515,7 @@ if (NULL == m_pDB.get()) return false; if (NULL == m_pDS2.get()) return false; // using dataset 2 as we're likely called in loops on dataset 1 - std::string sql = PrepareSQL("SELECT count(*) FROM art WHERE media_id=%i AND media_type='%s'", mediaId, mediaType.c_str()); + std::string sql = PrepareSQL("SELECT 1 FROM art WHERE media_id=%i AND media_type='%s' LIMIT 1", mediaId, mediaType.c_str()); m_pDS2->query(sql); bool result = !m_pDS2->eof(); m_pDS2->close(); diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoInfoScanner.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoInfoScanner.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoInfoScanner.cpp 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoInfoScanner.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -1443,6 +1443,11 @@ std::vector artTypes = CVideoThumbLoader::GetArtTypes(ContentToMediaType(content, pItem->m_bIsFolder)); bool lookForThumb = find(artTypes.begin(), artTypes.end(), "thumb") == artTypes.end() && art.find("thumb") == art.end(); + if (content == CONTENT_MOVIES) + { + for (std::string artType : CVideoThumbLoader::GetArtTypes(MediaTypeVideoCollection)) + artTypes.push_back("set." + artType); + } // find local art if (useLocal) { diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoThumbLoader.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoThumbLoader.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/video/VideoThumbLoader.cpp 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/video/VideoThumbLoader.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -8,6 +8,7 @@ #include "VideoThumbLoader.h" +#include #include #include @@ -223,36 +224,63 @@ { const std::shared_ptr advancedSettings = CServiceBroker::GetSettingsComponent()->GetAdvancedSettings(); std::vector ret; - std::vector extraart; if (type == MediaTypeEpisode) { - ret = { "thumb" }; - extraart = advancedSettings->m_videoEpisodeExtraArt; + ret = {"thumb"}; + for (auto& artType : advancedSettings->m_videoEpisodeExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } } else if (type == MediaTypeTvShow) { - ret = { "poster", "fanart", "banner" }; - extraart = advancedSettings->m_videoTvShowExtraArt; + ret = {"poster", "fanart", "banner"}; + for (auto& artType : advancedSettings->m_videoTvShowExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } } else if (type == MediaTypeSeason) { - ret = { "poster", "fanart", "banner" }; - extraart = advancedSettings->m_videoTvSeasonExtraArt; + ret = {"poster", "fanart", "banner"}; + for (auto& artType : advancedSettings->m_videoTvSeasonExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } + } + else if (type == MediaTypeMovie) + { + ret = {"poster", "fanart"}; + for (auto& artType : advancedSettings->m_videoMovieExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } } - else if (type == MediaTypeMovie || type == MediaTypeVideoCollection) + else if (type == MediaTypeVideoCollection) { - ret = { "poster", "fanart" }; - extraart = advancedSettings->m_videoMovieExtraArt; + ret = {"poster", "fanart"}; + for (auto& artType : advancedSettings->m_videoMovieSetExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } } else if (type == MediaTypeMusicVideo) { - ret = { "poster", "fanart" }; - extraart = advancedSettings->m_videoMusicVideoExtraArt; + ret = {"poster", "fanart"}; + for (auto& artType : advancedSettings->m_videoMusicVideoExtraArt) + { + if (find(ret.begin(), ret.end(), artType) == ret.end()) + ret.push_back(artType); + } } else if (type.empty()) // unknown, just the basics ret = { "poster", "fanart", "banner", "thumb" }; - ret.insert(ret.end(), extraart.begin(), extraart.end()); return ret; } diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/CMakeLists.txt kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/CMakeLists.txt --- kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/CMakeLists.txt 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/CMakeLists.txt 2018-11-04 01:01:33.000000000 +0000 @@ -5,7 +5,6 @@ DRMLegacy.cpp DRMAtomic.cpp OffScreenModeSetting.cpp - VTUtils.cpp WinSystemGbmEGLContext.cpp) set(HEADERS OptionalsReg.h @@ -15,7 +14,6 @@ DRMLegacy.h DRMAtomic.h OffScreenModeSetting.h - VTUtils.h WinSystemGbmEGLContext.h) if (OPENGL_FOUND) diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/VTUtils.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/VTUtils.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/VTUtils.cpp 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/VTUtils.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2005-2018 Team Kodi - * This file is part of Kodi - https://kodi.tv - * - * SPDX-License-Identifier: GPL-2.0-or-later - * See LICENSES/README.md for more information. - */ - -#include "VTUtils.h" - -#include "platform/MessagePrinter.h" -#include "utils/log.h" -#include "utils/StringUtils.h" - -#include -#include -#include -#include -#include -#include - -using namespace KODI::WINDOWING::GBM; - -bool CVTUtils::OpenTTY() -{ - m_ttyDevice = ttyname(STDIN_FILENO); - - m_fd.attach(open(m_ttyDevice.c_str(), O_RDWR | O_CLOEXEC)); - if (m_fd < 0) - { - CMessagePrinter::DisplayError(StringUtils::Format("ERROR: failed to open tty: %s", m_ttyDevice)); - CLog::Log(LOGERROR, "CVTUtils::%s - failed to open tty: %s", __FUNCTION__, m_ttyDevice); - return false; - } - - struct stat buf; - if (fstat(m_fd, &buf) == -1 || major(buf.st_rdev) != TTY_MAJOR || minor(buf.st_rdev) == 0) - { - CMessagePrinter::DisplayError(StringUtils::Format("ERROR: %s is not a vt", m_ttyDevice)); - CLog::Log(LOGERROR, "CVTUtils::%s - %s is not a vt", __FUNCTION__, m_ttyDevice); - return false; - } - - int kdMode{-1}; - auto ret = ioctl(m_fd, KDGETMODE, &kdMode); - if (ret) - { - CLog::Log(LOGERROR, "CVTUtils::%s - failed to get VT mode: %s", __FUNCTION__, strerror(errno)); - return false; - } - - if (kdMode != KD_TEXT) - { - CMessagePrinter::DisplayError(StringUtils::Format("ERROR: %s is already in graphics mode, is another display server running?", m_ttyDevice)); - CLog::Log(LOGERROR, "CVTUtils::%s - %s is already in graphics mode, is another display server running?", __FUNCTION__, m_ttyDevice); - return false; - } - - CLog::Log(LOGNOTICE, "CVTUtils::%s - opened tty: %s", __FUNCTION__, m_ttyDevice.c_str()); - - return true; -} diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/VTUtils.h kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/VTUtils.h --- kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/VTUtils.h 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/VTUtils.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2005-2018 Team Kodi - * This file is part of Kodi - https://kodi.tv - * - * SPDX-License-Identifier: GPL-2.0-or-later - * See LICENSES/README.md for more information. - */ - -#pragma once - -#include "platform/posix/utils/FileHandle.h" - -namespace KODI -{ -namespace WINDOWING -{ -namespace GBM -{ - -class CVTUtils -{ -public: - CVTUtils() = default; - ~CVTUtils() = default; - - bool OpenTTY(); - -private: - KODI::UTILS::POSIX::CFileHandle m_fd; - std::string m_ttyDevice; -}; - -} -} -} diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/WinSystemGbm.cpp kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/WinSystemGbm.cpp --- kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/WinSystemGbm.cpp 2018-10-25 00:02:19.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/WinSystemGbm.cpp 2018-11-04 01:01:33.000000000 +0000 @@ -73,11 +73,6 @@ bool CWinSystemGbm::InitWindowSystem() { - if (!m_vt.OpenTTY()) - { - return false; - } - m_DRM = std::make_shared(); if (!m_DRM->InitDrm()) diff -Nru kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/WinSystemGbm.h kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/WinSystemGbm.h --- kodi-18.0+git20181103.0202-0307cad/xbmc/windowing/gbm/WinSystemGbm.h 2018-10-23 16:19:51.000000000 +0000 +++ kodi-18.0+git20181104.0201-4dda45c/xbmc/windowing/gbm/WinSystemGbm.h 2018-11-04 01:01:33.000000000 +0000 @@ -17,7 +17,6 @@ #include "windowing/WinSystem.h" #include "DRMUtils.h" #include "VideoLayerBridge.h" -#include "VTUtils.h" class IDispResource; @@ -80,9 +79,6 @@ XbmcThreads::EndTime m_dispResetTimer; std::unique_ptr m_lirc; std::unique_ptr m_libinput; - -private: - CVTUtils m_vt; }; }