diff --git a/README.md b/README.md
index 76580d07..8ab64997 100644
--- a/README.md
+++ b/README.md
@@ -12,9 +12,10 @@ Copyright (C)2017 Michael G. Brehm
**BUILD ENVIRONMENT**
* Windows 10 x64 15063
-* Visual Studio 2015 (with Git for Windows)
+* Visual Studio 2017 (with VC++ 2015.3 v140 toolset and Windows 8.1 SDK)
* Bash on Ubuntu on Windows 16.04.1 LTS
* Android NDK r12b for Windows 64-bit
+* Raspberry Pi development tools
* Optional: Android SDK tools r25.2.3 for Windows
* Optional: Oracle Java SE Runtime Environment 8
@@ -25,6 +26,7 @@ sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9 libc6-dev:i386 libstdc++-4.9-dev:i386 lib32gcc-4.9-dev
sudo apt-get install gcc-4.9-arm-linux-gnueabihf g++-4.9-arm-linux-gnueabihf gcc-4.9-arm-linux-gnueabi g++-4.9-arm-linux-gnueabi gcc-4.9-aarch64-linux-gnu g++-4.9-aarch64-linux-gnu
+git clone https://github.com/raspberrypi/tools.git raspberrypi --depth=1
```
**CONFIGURE ANDROID NDK**
@@ -62,7 +64,7 @@ Download the latest jre-8xxx-windows-x64.tar.gz from Oracle:
```
**BUILD AND GENERATE KODI ADDON PACKAGES**
-Open "Developer Command Prompt for VS2015"
+Open "Developer Command Prompt for VS2017"
```
git clone https://github.com/djp952/pvr.hdhomerundvr -b Krypton
cd pvr.hdhomerundvr
@@ -79,6 +81,7 @@ msbuild msbuild.proj
> out\zuki.pvr.hdhomerundvr-android-arm-krypton-x.x.x.x.zip (android-arm)
> out\zuki.pvr.hdhomerundvr-android-aarch64-krypton-x.x.x.x.zip (android-aarch64)
> out\zuki.pvr.hdhomerundvr-android-x86-krypton-x.x.x.x.zip (android-x86)
+> out\zuki.pvr.hdhomerundvr-raspbian-armhf-krypton-x.x.x.x.zip (raspbian-armhf)
```
**BUILD AND GENERATE MODIFIED KODI ANDROID APKS**
diff --git a/depends/libcurl-nossl b/depends/libcurl-nossl
index 7bc46171..aeb8eac6 160000
--- a/depends/libcurl-nossl
+++ b/depends/libcurl-nossl
@@ -1 +1 @@
-Subproject commit 7bc4617131f5c30ef3b3b95775074dadcce27c85
+Subproject commit aeb8eac6b2ed4f2462ce018094192844dbd34cdc
diff --git a/depends/libuuid b/depends/libuuid
index 1aa991c5..99240428 160000
--- a/depends/libuuid
+++ b/depends/libuuid
@@ -1 +1 @@
-Subproject commit 1aa991c5a828ed7dd752a0b5bbf98d569efa2f07
+Subproject commit 99240428a1f5c1737337372e9aab104e8f533ced
diff --git a/depends/libz b/depends/libz
index ec9fd93f..7be08135 160000
--- a/depends/libz
+++ b/depends/libz
@@ -1 +1 @@
-Subproject commit ec9fd93f2ef4e9fcce09f92d3e8ccf0f6cdda129
+Subproject commit 7be08135d8eb83e273f3e8c894da0b8b5667a2d1
diff --git a/manifest/raspbian-armhf.manifest b/manifest/raspbian-armhf.manifest
new file mode 100644
index 00000000..770652bd
--- /dev/null
+++ b/manifest/raspbian-armhf.manifest
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/msbuild.proj b/msbuild.proj
index 8c756b22..2c562190 100644
--- a/msbuild.proj
+++ b/msbuild.proj
@@ -63,8 +63,9 @@
-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-armel/include/curl -Idepends/libuuid/linux-armel/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version
-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-armhf/include/curl -Idepends/libuuid/linux-armhf/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version
-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-aarch64/include/curl -Idepends/libuuid/linux-aarch64/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version
+ -Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/raspbian-armhf/include/curl -Idepends/libuuid/raspbian-armhf/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version
-fPIC
- -fPIC -std=c++14
+ -fPIC -std=c++11
$([System.IO.File]::ReadAllText(tmp\version\version.txt))
@@ -208,6 +209,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -226,6 +253,7 @@
out\zuki.pvr.hdhomerundvr-linux-armel-$(KodiBaseline)-$(PackageVersion).zip
out\zuki.pvr.hdhomerundvr-linux-armhf-$(KodiBaseline)-$(PackageVersion).zip
out\zuki.pvr.hdhomerundvr-linux-aarch64-$(KodiBaseline)-$(PackageVersion).zip
+ out\zuki.pvr.hdhomerundvr-raspbian-armhf-$(KodiBaseline)-$(PackageVersion).zip
out\zuki.pvr.hdhomerundvr-android-arm-$(KodiBaseline)-$(PackageVersion).zip
out\zuki.pvr.hdhomerundvr-android-aarch64-$(KodiBaseline)-$(PackageVersion).zip
out\zuki.pvr.hdhomerundvr-android-x86-$(KodiBaseline)-$(PackageVersion).zip
@@ -238,6 +266,7 @@
+
diff --git a/pvr.hdhomerundvr.sln b/pvr.hdhomerundvr.sln
index 1732cf72..68aba12e 100644
--- a/pvr.hdhomerundvr.sln
+++ b/pvr.hdhomerundvr.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.26403.3
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hdhomerundvr", "src\hdhomerundvr.vcxproj", "{5B5A17F1-4312-4A64-A796-2818CE0906B4}"
ProjectSection(ProjectDependencies) = postProject
@@ -50,6 +50,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "manifest", "manifest", "{03
manifest\linux-armhf.manifest = manifest\linux-armhf.manifest
manifest\linux-i686.manifest = manifest\linux-i686.manifest
manifest\linux-x86_64.manifest = manifest\linux-x86_64.manifest
+ manifest\raspbian-armhf.manifest = manifest\raspbian-armhf.manifest
manifest\windows-win32.manifest = manifest\windows-win32.manifest
manifest\windows-x64.manifest = manifest\windows-x64.manifest
EndProjectSection
diff --git a/src/hdhomerundvr.vcxproj b/src/hdhomerundvr.vcxproj
index 88a74930..524d02ab 100644
--- a/src/hdhomerundvr.vcxproj
+++ b/src/hdhomerundvr.vcxproj
@@ -315,23 +315,23 @@
Document
- "$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
+ "$(DevEnvDir)TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
- "$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
+ "$(DevEnvDir)TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
$(SolutionDir)tmp\addon-windows.xml;$(SolutionDir)tmp\addon-linux.xml;$(SolutionDir)tmp\addon-android.xml;%(Outputs)
$(SolutionDir)tmp\addon-windows.xml;$(SolutionDir)tmp\addon-linux.xml;$(SolutionDir)tmp\addon-android.xml;%(Outputs)
- "$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
+ "$(DevEnvDir)TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
- "$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
-"$(CommonProgramFiles)\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
+ "$(DevEnvDir)TextTransform.exe" -a !!platform!windx -a !!dllname!zuki.pvr.hdhomerundvr.dll -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-windows.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!linux -a !!dllname!zuki.pvr.hdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)\pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-linux.xml" "%(FullPath)"
+"$(DevEnvDir)TextTransform.exe" -a !!platform!android -a !!dllname!libhdhomerundvr.so -a "!!changelogtxt!$(SolutionDir)pvr.hdhomerundvr\changelog.txt" -a "!!versiontxt!$(SolutionDir)tmp\version\version.txt" -out "$(SolutionDir)tmp\addon-android.xml" "%(FullPath)"
$(SolutionDir)tmp\addon-windows.xml;$(SolutionDir)tmp\addon-linux.xml;$(SolutionDir)tmp\addon-android.xml;%(Outputs)
$(SolutionDir)tmp\addon-windows.xml;$(SolutionDir)tmp\addon-linux.xml;$(SolutionDir)tmp\addon-android.xml;%(Outputs)
diff --git a/src/hdhr.cpp b/src/hdhr.cpp
index e1f7cc23..6ee6aee1 100644
--- a/src/hdhr.cpp
+++ b/src/hdhr.cpp
@@ -41,10 +41,8 @@
void enumerate_devices(enumerate_devices_callback callback)
{
- std::unique_ptr devices;
-
// Allocate enough heap storage to hold up to 64 enumerated devices on the network
- devices = std::make_unique(64);
+ std::unique_ptr devices(new struct hdhomerun_discover_device_t[64]);
// Use the libhdhomerun broadcast discovery mechanism to find all devices on the local network
int result = hdhomerun_discover_find_devices_custom_v2(0, HDHOMERUN_DEVICE_TYPE_WILDCARD,
diff --git a/src/livestream.cpp b/src/livestream.cpp
index 715d56e2..62012a49 100644
--- a/src/livestream.cpp
+++ b/src/livestream.cpp
@@ -39,7 +39,7 @@
//
// buffersize - Size in bytes of the stream ring buffer
-livestream::livestream(size_t buffersize) : m_buffersize(buffersize), m_buffer(std::make_unique(buffersize))
+livestream::livestream(size_t buffersize) : m_buffersize(buffersize), m_buffer(new uint8_t[buffersize])
{
if(!m_buffer) throw std::bad_alloc();
}
@@ -82,7 +82,7 @@ size_t livestream::curl_responseheaders(char const* data, size_t size, size_t co
unsigned long long rangestart = 0;
// Copy the header data into a local buffer to ensure null termination, which is not guaranteed
- std::unique_ptr buffer = std::make_unique(cb + 1);
+ std::unique_ptr buffer(new char[cb + 1]);
memcpy(&buffer[0], data, cb);
buffer[cb] = 0;
diff --git a/src/pvr.cpp b/src/pvr.cpp
index 38e4e72a..08eb391a 100644
--- a/src/pvr.cpp
+++ b/src/pvr.cpp
@@ -961,7 +961,7 @@ ADDON_STATUS ADDON_Create(void* handle, void* props)
if(curl_global_init(CURL_GLOBAL_DEFAULT) != CURLE_OK) throw string_exception("curl_global_init(CURL_GLOBAL_DEFAULT) failed");
// Create the global addoncallbacks instance
- g_addon = std::make_unique(handle);
+ g_addon.reset(new addoncallbacks(handle));
// Throw a banner out to the Kodi log indicating that the add-on is being loaded
log_notice(VERSION_PRODUCTNAME_ANSI, " v", VERSION_VERSION3_ANSI, " loading");
@@ -996,7 +996,7 @@ ADDON_STATUS ADDON_Create(void* handle, void* props)
if(g_addon->GetSetting("use_direct_tuning", &bvalue)) g_settings.use_direct_tuning = bvalue;
// Create the global pvrcallbacks instance
- g_pvr = std::make_unique(handle);
+ g_pvr.reset(new pvrcallbacks(handle));
try {