mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
pvr.dvblink: version 3.3.5 (krypton)
This commit is contained in:
parent
7c98b1df37
commit
27b698fec0
@ -0,0 +1,376 @@
|
||||
From 40a0711876959f87311fd8a7916537e8fc5f5217 Mon Sep 17 00:00:00 2001
|
||||
From: dvblogic <info@dvblogic.com>
|
||||
Date: Tue, 13 Sep 2016 18:16:34 +0200
|
||||
Subject: [PATCH 1/3] Version 3.3.5 Fixed: Crash on startup with search timers
|
||||
Fixed: Incorrect disk space display if disk size is more than 2TB
|
||||
|
||||
---
|
||||
lib/libdvblinkremote/recording_settings.cpp | 4 ++--
|
||||
lib/libdvblinkremote/response.h | 4 ++--
|
||||
lib/libdvblinkremote/util.cpp | 24 ++++++++++++++++++++++++
|
||||
lib/libdvblinkremote/util.h | 2 ++
|
||||
pvr.dvblink/addon.xml.in | 2 +-
|
||||
pvr.dvblink/changelog.txt | 4 ++++
|
||||
src/DVBLinkClient.cpp | 8 ++++----
|
||||
7 files changed, 39 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/lib/libdvblinkremote/recording_settings.cpp b/lib/libdvblinkremote/recording_settings.cpp
|
||||
index ae3e3b6..729c836 100644
|
||||
--- a/lib/libdvblinkremote/recording_settings.cpp
|
||||
+++ b/lib/libdvblinkremote/recording_settings.cpp
|
||||
@@ -86,8 +86,8 @@ bool RecordingSettingsSerializer::ReadObject(RecordingSettings& object, const st
|
||||
object.TimeMarginBeforeScheduledRecordings = Util::GetXmlFirstChildElementTextAsInt(elRoot, "before_margin");
|
||||
object.TimeMarginAfterScheduledRecordings = Util::GetXmlFirstChildElementTextAsInt(elRoot, "after_margin");
|
||||
object.RecordingPath = Util::GetXmlFirstChildElementText(elRoot, "recording_path");
|
||||
- object.TotalSpace = Util::GetXmlFirstChildElementTextAsLong(elRoot, "total_space");
|
||||
- object.AvailableSpace = Util::GetXmlFirstChildElementTextAsLong(elRoot, "avail_space");
|
||||
+ object.TotalSpace = Util::GetXmlFirstChildElementTextAsLongLong(elRoot, "total_space");
|
||||
+ object.AvailableSpace = Util::GetXmlFirstChildElementTextAsLongLong(elRoot, "avail_space");
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/lib/libdvblinkremote/response.h b/lib/libdvblinkremote/response.h
|
||||
index 51b7ef8..5be5aec 100644
|
||||
--- a/lib/libdvblinkremote/response.h
|
||||
+++ b/lib/libdvblinkremote/response.h
|
||||
@@ -1350,12 +1350,12 @@ namespace dvblinkremote {
|
||||
/**
|
||||
* The total space in KB.
|
||||
*/
|
||||
- long TotalSpace;
|
||||
+ long long TotalSpace;
|
||||
|
||||
/**
|
||||
* The available space in KB.
|
||||
*/
|
||||
- long AvailableSpace;
|
||||
+ long long AvailableSpace;
|
||||
};
|
||||
|
||||
class ChannelFavorite
|
||||
diff --git a/lib/libdvblinkremote/util.cpp b/lib/libdvblinkremote/util.cpp
|
||||
index 65ac456..6e0be90 100644
|
||||
--- a/lib/libdvblinkremote/util.cpp
|
||||
+++ b/lib/libdvblinkremote/util.cpp
|
||||
@@ -34,6 +34,7 @@ bool Util::from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_
|
||||
|
||||
template bool Util::from_string<int>(int& t, const std::string& s, std::ios_base& (*f)(std::ios_base&));
|
||||
template bool Util::from_string<long>(long& t, const std::string& s, std::ios_base& (*f)(std::ios_base&));
|
||||
+template bool Util::from_string<long long>(long long& t, const std::string& s, std::ios_base& (*f)(std::ios_base&));
|
||||
|
||||
template <class T>
|
||||
bool Util::to_string(const T& t, std::string& s)
|
||||
@@ -59,6 +60,11 @@ bool Util::ConvertToLong(const std::string& s, long& value)
|
||||
return from_string<long>(value, s, std::dec);
|
||||
}
|
||||
|
||||
+bool Util::ConvertToLongLong(const std::string& s, long long& value)
|
||||
+{
|
||||
+ return from_string<long long>(value, s, std::dec);
|
||||
+}
|
||||
+
|
||||
bool Util::ConvertToString(const int& value, std::string& s)
|
||||
{
|
||||
return to_string(value, s);
|
||||
@@ -192,6 +198,24 @@ long Util::GetXmlFirstChildElementTextAsLong(const tinyxml2::XMLElement* parentE
|
||||
return value;
|
||||
}
|
||||
|
||||
+long long Util::GetXmlFirstChildElementTextAsLongLong(const tinyxml2::XMLElement* parentElement, const char* name)
|
||||
+{
|
||||
+ const tinyxml2::XMLElement* el = parentElement->FirstChildElement(name);
|
||||
+ const char* s = "-1";
|
||||
+ long long value;
|
||||
+
|
||||
+ if (el != NULL && el->GetText()) {
|
||||
+ s = el->GetText();
|
||||
+ }
|
||||
+
|
||||
+ if (s && !Util::ConvertToLongLong(s, value))
|
||||
+ {
|
||||
+ value = -1;
|
||||
+ }
|
||||
+
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
bool Util::GetXmlFirstChildElementTextAsBoolean(const tinyxml2::XMLElement* parentElement, const char* name)
|
||||
{
|
||||
const tinyxml2::XMLElement* el = parentElement->FirstChildElement(name);
|
||||
diff --git a/lib/libdvblinkremote/util.h b/lib/libdvblinkremote/util.h
|
||||
index 3af4914..63c9ecb 100644
|
||||
--- a/lib/libdvblinkremote/util.h
|
||||
+++ b/lib/libdvblinkremote/util.h
|
||||
@@ -34,6 +34,7 @@ namespace dvblinkremote {
|
||||
public:
|
||||
static bool ConvertToInt(const std::string& s, int& value);
|
||||
static bool ConvertToLong(const std::string& s, long& value);
|
||||
+ static bool ConvertToLongLong(const std::string& s, long long& value);
|
||||
static bool ConvertToString(const int& value, std::string&);
|
||||
static bool ConvertToString(const unsigned int& value, std::string&);
|
||||
static bool ConvertToString(const long& value, std::string&);
|
||||
@@ -48,6 +49,7 @@ namespace dvblinkremote {
|
||||
static int GetXmlFirstChildElementTextAsInt(const tinyxml2::XMLElement* parentElement, const char* name);
|
||||
static long GetXmlFirstChildElementTextAsLong(const tinyxml2::XMLElement* parentElement, const char* name);
|
||||
static bool GetXmlFirstChildElementTextAsBoolean(const tinyxml2::XMLElement* parentElement, const char* name);
|
||||
+ static long long GetXmlFirstChildElementTextAsLongLong(const tinyxml2::XMLElement* parentElement, const char* name);
|
||||
|
||||
private:
|
||||
template <class T> static bool from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&));
|
||||
diff --git a/pvr.dvblink/addon.xml.in b/pvr.dvblink/addon.xml.in
|
||||
index 5e81fae..e9464b9 100644
|
||||
--- a/pvr.dvblink/addon.xml.in
|
||||
+++ b/pvr.dvblink/addon.xml.in
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<addon
|
||||
id="pvr.dvblink"
|
||||
- version="3.3.4"
|
||||
+ version="3.3.5"
|
||||
name="DVBLink PVR Client"
|
||||
provider-name="DVBLogic">
|
||||
<requires>
|
||||
diff --git a/pvr.dvblink/changelog.txt b/pvr.dvblink/changelog.txt
|
||||
index 25e1f0a..4f1a8e2 100644
|
||||
--- a/pvr.dvblink/changelog.txt
|
||||
+++ b/pvr.dvblink/changelog.txt
|
||||
@@ -1,3 +1,7 @@
|
||||
+[B]Version 3.3.5[/B]
|
||||
+Fixed: Crash on startup with search timers
|
||||
+Fixed: Incorrect disk space display if disk size is more than 2TB
|
||||
+
|
||||
[B]Version 3.3.4[/B]
|
||||
Updated: language files from Transifex
|
||||
|
||||
diff --git a/src/DVBLinkClient.cpp b/src/DVBLinkClient.cpp
|
||||
index fbb07f7..de9b480 100644
|
||||
--- a/src/DVBLinkClient.cpp
|
||||
+++ b/src/DVBLinkClient.cpp
|
||||
@@ -736,11 +736,11 @@ int DVBLinkClient::GetSchedules(ADDON_HANDLE handle, const RecordingList& record
|
||||
timer.iMarginEnd = bp_schedules[i]->MarginAfter / 60;
|
||||
strncpy(timer.strEpgSearchString, bp_schedules[i]->GetKeyphrase().c_str(), sizeof(timer.strEpgSearchString) - 1);
|
||||
|
||||
- if (schedule_to_timer_map.find(epg_schedules[i]->GetID()) != schedule_to_timer_map.end() &&
|
||||
- schedule_to_timer_map[epg_schedules[i]->GetID()].size() > 0)
|
||||
+ if (schedule_to_timer_map.find(bp_schedules[i]->GetID()) != schedule_to_timer_map.end() &&
|
||||
+ schedule_to_timer_map[bp_schedules[i]->GetID()].size() > 0)
|
||||
{
|
||||
- timer.startTime = schedule_to_timer_map[epg_schedules[i]->GetID()].at(0)->GetProgram().GetStartTime();
|
||||
- timer.endTime = timer.startTime + schedule_to_timer_map[epg_schedules[i]->GetID()].at(0)->GetProgram().GetDuration();
|
||||
+ timer.startTime = schedule_to_timer_map[bp_schedules[i]->GetID()].at(0)->GetProgram().GetStartTime();
|
||||
+ timer.endTime = timer.startTime + schedule_to_timer_map[bp_schedules[i]->GetID()].at(0)->GetProgram().GetDuration();
|
||||
}
|
||||
|
||||
strncpy(timer.strTitle, bp_schedules[i]->GetKeyphrase().c_str(), sizeof(timer.strTitle) - 1);
|
||||
|
||||
From ed9d369c1b683079dc7770af8313dfa46b35cddb Mon Sep 17 00:00:00 2001
|
||||
From: dvblogic <info@dvblogic.com>
|
||||
Date: Wed, 14 Sep 2016 09:21:33 +0200
|
||||
Subject: [PATCH 2/3] Fixed: Doesn't build with tinyxml2 4.x #52
|
||||
|
||||
---
|
||||
lib/libdvblinkremote/channel.cpp | 2 +-
|
||||
lib/libdvblinkremote/epg.cpp | 2 +-
|
||||
lib/libdvblinkremote/favorites.cpp | 2 +-
|
||||
lib/libdvblinkremote/generic_response.cpp | 2 +-
|
||||
lib/libdvblinkremote/parental_lock.cpp | 2 +-
|
||||
lib/libdvblinkremote/playback_object.cpp | 2 +-
|
||||
lib/libdvblinkremote/recording.cpp | 2 +-
|
||||
lib/libdvblinkremote/recording_settings.cpp | 2 +-
|
||||
lib/libdvblinkremote/scheduling.cpp | 2 +-
|
||||
lib/libdvblinkremote/server_info.cpp | 2 +-
|
||||
lib/libdvblinkremote/stream.cpp | 2 +-
|
||||
lib/libdvblinkremote/streaming_capabilities.cpp | 2 +-
|
||||
pvr.dvblink/changelog.txt | 1 +
|
||||
13 files changed, 13 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/lib/libdvblinkremote/channel.cpp b/lib/libdvblinkremote/channel.cpp
|
||||
index 2861feb..b9f8ac5 100644
|
||||
--- a/lib/libdvblinkremote/channel.cpp
|
||||
+++ b/lib/libdvblinkremote/channel.cpp
|
||||
@@ -122,7 +122,7 @@ bool GetChannelsResponseSerializer::ReadObject(ChannelList& object, const std::s
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("channels");
|
||||
GetChannelsResponseXmlDataDeserializer* xmlDataDeserializer = new GetChannelsResponseXmlDataDeserializer(*this, object);
|
||||
elRoot->Accept(xmlDataDeserializer);
|
||||
diff --git a/lib/libdvblinkremote/epg.cpp b/lib/libdvblinkremote/epg.cpp
|
||||
index b382e4d..3fcc65e 100644
|
||||
--- a/lib/libdvblinkremote/epg.cpp
|
||||
+++ b/lib/libdvblinkremote/epg.cpp
|
||||
@@ -189,7 +189,7 @@ bool EpgSearchResponseSerializer::ReadObject(EpgSearchResult& object, const std:
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("epg_searcher");
|
||||
ChannelEpgXmlDataDeserializer* xmlDataDeserializer = new ChannelEpgXmlDataDeserializer(*this, object);
|
||||
elRoot->Accept(xmlDataDeserializer);
|
||||
diff --git a/lib/libdvblinkremote/favorites.cpp b/lib/libdvblinkremote/favorites.cpp
|
||||
index 4e7f96a..a29fd82 100644
|
||||
--- a/lib/libdvblinkremote/favorites.cpp
|
||||
+++ b/lib/libdvblinkremote/favorites.cpp
|
||||
@@ -118,7 +118,7 @@ bool ChannelFavoritesSerializer::ReadObject(ChannelFavorites& object, const std:
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("favorites");
|
||||
GetFavoritesResponseXmlDataDeserializer* xmlDataDeserializer = new GetFavoritesResponseXmlDataDeserializer(*this, object);
|
||||
elRoot->Accept(xmlDataDeserializer);
|
||||
diff --git a/lib/libdvblinkremote/generic_response.cpp b/lib/libdvblinkremote/generic_response.cpp
|
||||
index 6d85841..7931957 100644
|
||||
--- a/lib/libdvblinkremote/generic_response.cpp
|
||||
+++ b/lib/libdvblinkremote/generic_response.cpp
|
||||
@@ -74,7 +74,7 @@ bool GenericResponseSerializer::ReadObject(GenericResponse& object, const std::s
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("response");
|
||||
int statusCode = Util::GetXmlFirstChildElementTextAsInt(elRoot, "status_code");
|
||||
|
||||
diff --git a/lib/libdvblinkremote/parental_lock.cpp b/lib/libdvblinkremote/parental_lock.cpp
|
||||
index 1db186e..be8b156 100644
|
||||
--- a/lib/libdvblinkremote/parental_lock.cpp
|
||||
+++ b/lib/libdvblinkremote/parental_lock.cpp
|
||||
@@ -95,7 +95,7 @@ bool ParentalStatusSerializer::ReadObject(ParentalStatus& object, const std::str
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("parental_status");
|
||||
object.IsEnabled = Util::GetXmlFirstChildElementTextAsBoolean(elRoot, "is_enabled");
|
||||
return true;
|
||||
diff --git a/lib/libdvblinkremote/playback_object.cpp b/lib/libdvblinkremote/playback_object.cpp
|
||||
index 99c8f15..ce3bff7 100644
|
||||
--- a/lib/libdvblinkremote/playback_object.cpp
|
||||
+++ b/lib/libdvblinkremote/playback_object.cpp
|
||||
@@ -136,7 +136,7 @@ bool GetPlaybackObjectResponseSerializer::ReadObject(GetPlaybackObjectResponse&
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("object");
|
||||
|
||||
if (HasChildElement(*elRoot, "containers"))
|
||||
diff --git a/lib/libdvblinkremote/recording.cpp b/lib/libdvblinkremote/recording.cpp
|
||||
index 0bd21cd..d4dc828 100644
|
||||
--- a/lib/libdvblinkremote/recording.cpp
|
||||
+++ b/lib/libdvblinkremote/recording.cpp
|
||||
@@ -106,7 +106,7 @@ bool GetRecordingsResponseSerializer::ReadObject(RecordingList& object, const st
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("recordings");
|
||||
GetRecordingsResponseXmlDataDeserializer* xmlDataDeserializer = new GetRecordingsResponseXmlDataDeserializer(*this, object);
|
||||
elRoot->Accept(xmlDataDeserializer);
|
||||
diff --git a/lib/libdvblinkremote/recording_settings.cpp b/lib/libdvblinkremote/recording_settings.cpp
|
||||
index 729c836..2940c63 100644
|
||||
--- a/lib/libdvblinkremote/recording_settings.cpp
|
||||
+++ b/lib/libdvblinkremote/recording_settings.cpp
|
||||
@@ -81,7 +81,7 @@ bool RecordingSettingsSerializer::ReadObject(RecordingSettings& object, const st
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("recording_settings");
|
||||
object.TimeMarginBeforeScheduledRecordings = Util::GetXmlFirstChildElementTextAsInt(elRoot, "before_margin");
|
||||
object.TimeMarginAfterScheduledRecordings = Util::GetXmlFirstChildElementTextAsInt(elRoot, "after_margin");
|
||||
diff --git a/lib/libdvblinkremote/scheduling.cpp b/lib/libdvblinkremote/scheduling.cpp
|
||||
index 11a3792..aee900e 100644
|
||||
--- a/lib/libdvblinkremote/scheduling.cpp
|
||||
+++ b/lib/libdvblinkremote/scheduling.cpp
|
||||
@@ -415,7 +415,7 @@ bool GetSchedulesResponseSerializer::ReadObject(StoredSchedules& object, const s
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("schedules");
|
||||
GetSchedulesResponseXmlDataDeserializer* xmlDataDeserializer = new GetSchedulesResponseXmlDataDeserializer(*this, object);
|
||||
elRoot->Accept(xmlDataDeserializer);
|
||||
diff --git a/lib/libdvblinkremote/server_info.cpp b/lib/libdvblinkremote/server_info.cpp
|
||||
index a308048..adbfcee 100644
|
||||
--- a/lib/libdvblinkremote/server_info.cpp
|
||||
+++ b/lib/libdvblinkremote/server_info.cpp
|
||||
@@ -63,7 +63,7 @@ bool ServerInfoSerializer::ReadObject(ServerInfo& object, const std::string& xml
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("server_info");
|
||||
object.install_id_ = Util::GetXmlFirstChildElementText(elRoot, "install_id");
|
||||
object.server_id_ = Util::GetXmlFirstChildElementText(elRoot, "server_id");
|
||||
diff --git a/lib/libdvblinkremote/stream.cpp b/lib/libdvblinkremote/stream.cpp
|
||||
index 767c7e1..e2c8259 100644
|
||||
--- a/lib/libdvblinkremote/stream.cpp
|
||||
+++ b/lib/libdvblinkremote/stream.cpp
|
||||
@@ -74,7 +74,7 @@ bool StreamResponseSerializer::ReadObject(Stream& object, const std::string& xml
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("stream");
|
||||
long channelHandle = Util::GetXmlFirstChildElementTextAsLong(elRoot, "channel_handle");
|
||||
std::string url = Util::GetXmlFirstChildElementText(elRoot, "url");
|
||||
diff --git a/lib/libdvblinkremote/streaming_capabilities.cpp b/lib/libdvblinkremote/streaming_capabilities.cpp
|
||||
index 2544199..d2da28a 100644
|
||||
--- a/lib/libdvblinkremote/streaming_capabilities.cpp
|
||||
+++ b/lib/libdvblinkremote/streaming_capabilities.cpp
|
||||
@@ -83,7 +83,7 @@ bool StreamingCapabilitiesSerializer::ReadObject(StreamingCapabilities& object,
|
||||
{
|
||||
tinyxml2::XMLDocument& doc = GetXmlDocument();
|
||||
|
||||
- if (doc.Parse(xml.c_str()) == tinyxml2::XML_NO_ERROR) {
|
||||
+ if (doc.Parse(xml.c_str()) == tinyxml2::XML_SUCCESS) {
|
||||
tinyxml2::XMLElement* elRoot = doc.FirstChildElement("streaming_caps");
|
||||
object.SupportedProtocols = Util::GetXmlFirstChildElementTextAsInt(elRoot, "protocols");
|
||||
object.SupportedTranscoders = Util::GetXmlFirstChildElementTextAsInt(elRoot, "transcoders");
|
||||
diff --git a/pvr.dvblink/changelog.txt b/pvr.dvblink/changelog.txt
|
||||
index 4f1a8e2..bf2f4d4 100644
|
||||
--- a/pvr.dvblink/changelog.txt
|
||||
+++ b/pvr.dvblink/changelog.txt
|
||||
@@ -1,6 +1,7 @@
|
||||
[B]Version 3.3.5[/B]
|
||||
Fixed: Crash on startup with search timers
|
||||
Fixed: Incorrect disk space display if disk size is more than 2TB
|
||||
+Fixed: tinyxml2 v4 compatibility (XML_NO_ERROR -> XML_SUCCESS)
|
||||
|
||||
[B]Version 3.3.4[/B]
|
||||
Updated: language files from Transifex
|
||||
|
||||
From c5e4a81e007ce2547900a713436cefe66d917fa7 Mon Sep 17 00:00:00 2001
|
||||
From: dvblogic <info@dvblogic.com>
|
||||
Date: Wed, 14 Sep 2016 15:27:42 +0200
|
||||
Subject: [PATCH 3/3] added #include <cstdarg> to prevent compiler errors
|
||||
|
||||
---
|
||||
lib/libdvblinkremote/dvblinkremotecommunication.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/libdvblinkremote/dvblinkremotecommunication.cpp b/lib/libdvblinkremote/dvblinkremotecommunication.cpp
|
||||
index 6037c3b..a254ded 100644
|
||||
--- a/lib/libdvblinkremote/dvblinkremotecommunication.cpp
|
||||
+++ b/lib/libdvblinkremote/dvblinkremotecommunication.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
+#include <cstdarg>
|
||||
#include "dvblinkremoteconnection.h"
|
||||
#include "xml_object_serializer.h"
|
||||
#include "generic_response.h"
|
Loading…
x
Reference in New Issue
Block a user