mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv
This commit is contained in:
commit
50b2c60c44
19
TODO
19
TODO
@ -1,2 +1,21 @@
|
||||
ncurses-5.8/5.9:
|
||||
- segfaults in nano and dialog -> using ncurses-5.7
|
||||
|
||||
intel-gpu-tools:
|
||||
- remove this package after gotham.
|
||||
not needed anymore as xbmc has "use limited
|
||||
color space" option
|
||||
|
||||
timezone-data:
|
||||
- fix tzdata-setup for gotham. now there is no
|
||||
<timezone> in guisettings.xml or ping Montellese
|
||||
|
||||
systemd:
|
||||
- fix graphical.target/xorg deps mess
|
||||
|
||||
irserver:
|
||||
- rework irserver/init.d for systemd
|
||||
|
||||
RTL8192CU:
|
||||
- add CONFIG_RTL8192CU to all kernel configs
|
||||
and test removing this package
|
||||
|
2
packages/3rdparty/lib/cxxtools/build
vendored
2
packages/3rdparty/lib/cxxtools/build
vendored
@ -34,6 +34,7 @@ mkdir -p .build-host && cd .build-host
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-demos \
|
||||
--with-atomictype=pthread \
|
||||
--disable-unittest
|
||||
|
||||
make
|
||||
@ -55,6 +56,7 @@ mkdir -p .build-target && cd .build-target
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
--disable-demos \
|
||||
--with-atomictype=pthread \
|
||||
--disable-unittest
|
||||
|
||||
$MAKEINSTALL
|
||||
|
4
packages/3rdparty/lib/cxxtools/meta
vendored
4
packages/3rdparty/lib/cxxtools/meta
vendored
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cxxtools"
|
||||
PKG_VERSION="2.1.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
@ -33,4 +33,4 @@ PKG_SHORTDESC="cxxtools: a collection of general-purpose C++ classes"
|
||||
PKG_LONGDESC="Cxxtools is a collection of general-purpose C++ classes"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
PKG_AUTORECONF="no"
|
||||
|
@ -1,278 +0,0 @@
|
||||
diff --git a/src/bin/formatter.cpp b/src/bin/formatter.cpp
|
||||
index 020475e..516d145 100644
|
||||
--- a/src/bin/formatter.cpp
|
||||
+++ b/src/bin/formatter.cpp
|
||||
@@ -218,7 +218,7 @@ void Formatter::addValueString(const std::string& name, const std::string& type,
|
||||
|
||||
if (type == "int")
|
||||
{
|
||||
- if (value.size() > 0 && (value[0] == L'-' || value[0] == L'+'))
|
||||
+ if (value.size() > 0 && ( (int) value[0] == (int) L'-' || (int) value[0] == (int) L'+'))
|
||||
{
|
||||
int64_t v = convert<int64_t>(value);
|
||||
printInt(*_out, v, name);
|
||||
diff --git a/src/csvparser.cpp b/src/csvparser.cpp
|
||||
index f9ee8dd..9d57dc8 100644
|
||||
--- a/src/csvparser.cpp
|
||||
+++ b/src/csvparser.cpp
|
||||
@@ -76,23 +76,23 @@ void CsvParser::begin(DeserializerBase& handler)
|
||||
|
||||
void CsvParser::advance(Char ch)
|
||||
{
|
||||
- if (ch == L'\n')
|
||||
+ if ( (int) ch == (int) L'\n')
|
||||
++_lineNo;
|
||||
|
||||
switch (_state)
|
||||
{
|
||||
case state_detectDelim:
|
||||
- if (isalnum(ch) || ch == L'_' || ch == ' ')
|
||||
+ if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) ' ')
|
||||
{
|
||||
_titles.back() += ch.narrow();
|
||||
}
|
||||
- else if (ch == L'\n' || ch == L'\r')
|
||||
+ else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
log_debug("title=\"" << _titles.back() << '"');
|
||||
_noColumns = 1;
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
}
|
||||
- else if (ch == L'\'' || ch == L'"')
|
||||
+ else if ( (int) ch == (int) L'\'' || (int) ch == (int) L'"')
|
||||
{
|
||||
_quote = ch;
|
||||
_state = state_detectDelim_q;
|
||||
@@ -119,17 +119,17 @@ void CsvParser::advance(Char ch)
|
||||
break;
|
||||
|
||||
case state_detectDelim_postq:
|
||||
- if (isalnum(ch) || ch == L'_' || ch == L'\'' || ch == L'"' || ch == L' ')
|
||||
+ if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) L'\'' || (int) ch == (int) L'"' || (int) ch == (int) L' ')
|
||||
{
|
||||
std::ostringstream msg;
|
||||
msg << "invalid character '" << ch.narrow() << "' within csv title of column " << _titles.size();
|
||||
SerializationError::doThrow(msg.str());
|
||||
}
|
||||
- else if (ch == L'\n' || ch == L'\r')
|
||||
+ else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
log_debug("title=\"" << _titles.back() << '"');
|
||||
_noColumns = 1;
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -142,10 +142,10 @@ void CsvParser::advance(Char ch)
|
||||
break;
|
||||
|
||||
case state_title:
|
||||
- if (ch == L'\n' || ch == L'\r')
|
||||
+ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
log_debug("title=\"" << _titles.back() << '"');
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
_noColumns = _titles.size();
|
||||
}
|
||||
else if (ch == _delimiter)
|
||||
@@ -153,7 +153,7 @@ void CsvParser::advance(Char ch)
|
||||
log_debug("title=\"" << _titles.back() << '"');
|
||||
_titles.push_back(std::string());
|
||||
}
|
||||
- else if (ch == '\'' || ch == '\"')
|
||||
+ else if ( (int) ch == (int) '\'' || (int) ch == (int) '\"')
|
||||
{
|
||||
if (_titles.back().empty())
|
||||
{
|
||||
@@ -185,10 +185,10 @@ void CsvParser::advance(Char ch)
|
||||
break;
|
||||
|
||||
case state_qtitlep:
|
||||
- if (ch == L'\n' || ch == L'\r')
|
||||
+ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
log_debug("title=\"" << _titles.back() << '"');
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
_noColumns = _titles.size();
|
||||
}
|
||||
else if (ch == _delimiter)
|
||||
@@ -207,7 +207,7 @@ void CsvParser::advance(Char ch)
|
||||
|
||||
case state_cr:
|
||||
_state = state_rowstart;
|
||||
- if (ch == L'\n')
|
||||
+ if ( (int) ch == (int) L'\n')
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -228,14 +228,14 @@ void CsvParser::advance(Char ch)
|
||||
_column < _titles.size() ? _titles[_column] : std::string(),
|
||||
std::string(), SerializationInfo::Value);
|
||||
|
||||
- if (ch == L'\n' || ch == L'\r')
|
||||
+ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
_deserializer->leaveMember();
|
||||
checkNoColumns(_column, _noColumns, _lineNo);
|
||||
_deserializer->leaveMember();
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
}
|
||||
- else if (ch == L'"' || ch == L'\'')
|
||||
+ else if ((int) ch == L'"' || (int) ch == L'\'')
|
||||
{
|
||||
_quote = ch;
|
||||
_state = state_qdata;
|
||||
@@ -253,7 +253,7 @@ void CsvParser::advance(Char ch)
|
||||
break;
|
||||
|
||||
case state_data0:
|
||||
- if (ch == L'"' || ch == L'\'')
|
||||
+ if ( (int) ch == (int) L'"' || (int) ch == (int) L'\'')
|
||||
{
|
||||
_quote = ch;
|
||||
_state = state_qdata;
|
||||
@@ -261,7 +261,7 @@ void CsvParser::advance(Char ch)
|
||||
}
|
||||
|
||||
case state_data:
|
||||
- if (ch == L'\n' || ch == L'\r')
|
||||
+ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
log_debug("value \"" << _value << '"');
|
||||
_deserializer->setValue(_value);
|
||||
@@ -269,7 +269,7 @@ void CsvParser::advance(Char ch)
|
||||
checkNoColumns(_column, _noColumns, _lineNo);
|
||||
_deserializer->leaveMember(); // leave data item
|
||||
_deserializer->leaveMember(); // leave row
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
}
|
||||
else if (ch == _delimiter)
|
||||
{
|
||||
@@ -307,11 +307,11 @@ void CsvParser::advance(Char ch)
|
||||
break;
|
||||
|
||||
case state_qdata_end:
|
||||
- if (ch == L'\n' || ch == L'\r')
|
||||
+ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r')
|
||||
{
|
||||
checkNoColumns(_column, _noColumns, _lineNo);
|
||||
_deserializer->leaveMember(); // leave row
|
||||
- _state = (ch == L'\r' ? state_cr : state_rowstart);
|
||||
+ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart);
|
||||
}
|
||||
else if (ch == _delimiter)
|
||||
{
|
||||
diff --git a/src/jsonformatter.cpp b/src/jsonformatter.cpp
|
||||
index 1604d3e..07ada52 100644
|
||||
--- a/src/jsonformatter.cpp
|
||||
+++ b/src/jsonformatter.cpp
|
||||
@@ -323,25 +323,25 @@ void JsonFormatter::stringOut(const std::string& str)
|
||||
{
|
||||
for (std::string::const_iterator it = str.begin(); it != str.end(); ++it)
|
||||
{
|
||||
- if (*it == '"')
|
||||
+ if ( (int) *it == (int) '"')
|
||||
*_ts << L'\\'
|
||||
<< L'\"';
|
||||
- else if (*it == '\\')
|
||||
+ else if ( (int) *it == (int) '\\')
|
||||
*_ts << L'\\'
|
||||
<< L'\\';
|
||||
- else if (*it == '\b')
|
||||
+ else if ( (int) *it == (int) '\b')
|
||||
*_ts << L'\\'
|
||||
<< L'b';
|
||||
- else if (*it == '\f')
|
||||
+ else if ( (int) *it == (int) '\f')
|
||||
*_ts << L'\\'
|
||||
<< L'f';
|
||||
- else if (*it == '\n')
|
||||
+ else if ( (int) *it == (int) '\n')
|
||||
*_ts << L'\\'
|
||||
<< L'n';
|
||||
- else if (*it == '\r')
|
||||
+ else if ( (int) *it == (int) '\r')
|
||||
*_ts << L'\\'
|
||||
<< L'r';
|
||||
- else if (*it == '\t')
|
||||
+ else if ( (int) *it == (int) '\t')
|
||||
*_ts << L'\\'
|
||||
<< L't';
|
||||
else if (static_cast<unsigned char>(*it) >= 0x80 || static_cast<unsigned char>(*it) < 0x20)
|
||||
@@ -364,25 +364,25 @@ void JsonFormatter::stringOut(const cxxtools::String& str)
|
||||
{
|
||||
for (cxxtools::String::const_iterator it = str.begin(); it != str.end(); ++it)
|
||||
{
|
||||
- if (*it == L'"')
|
||||
+ if ( (int) *it == (int) L'"')
|
||||
*_ts << L'\\'
|
||||
<< L'\"';
|
||||
- else if (*it == L'\\')
|
||||
+ else if ( (int) *it == (int) L'\\')
|
||||
*_ts << L'\\'
|
||||
<< L'\\';
|
||||
- else if (*it == L'\b')
|
||||
+ else if ( (int) *it == (int) L'\b')
|
||||
*_ts << L'\\'
|
||||
<< L'b';
|
||||
- else if (*it == L'\f')
|
||||
+ else if ( (int) *it == (int) L'\f')
|
||||
*_ts << L'\\'
|
||||
<< L'f';
|
||||
- else if (*it == L'\n')
|
||||
+ else if ( (int) *it == (int) L'\n')
|
||||
*_ts << L'\\'
|
||||
<< L'n';
|
||||
- else if (*it == L'\r')
|
||||
+ else if ( (int) *it == (int) L'\r')
|
||||
*_ts << L'\\'
|
||||
<< L'r';
|
||||
- else if (*it == L'\t')
|
||||
+ else if ( (int) *it == (int) L'\t')
|
||||
*_ts << L'\\'
|
||||
<< L't';
|
||||
else if (it->value() >= 0x80 || it->value() < 0x20)
|
||||
diff --git a/src/xml/entityresolver.cpp b/src/xml/entityresolver.cpp
|
||||
index fb55f08..58ea86a 100644
|
||||
--- a/src/xml/entityresolver.cpp
|
||||
+++ b/src/xml/entityresolver.cpp
|
||||
@@ -563,19 +563,19 @@ namespace
|
||||
|
||||
String EntityResolver::resolveEntity(const String& entity) const
|
||||
{
|
||||
- if (!entity.empty() && entity[0] == L'#')
|
||||
+ if (!entity.empty() && (int) entity[0] == (int) L'#')
|
||||
{
|
||||
int code = 0;
|
||||
- if (entity.size() > 2 && entity[1] == L'x')
|
||||
+ if (entity.size() > 2 && (int) entity[1] == (int) L'x')
|
||||
{
|
||||
// hex notation: ꯍ
|
||||
for (String::const_iterator it = entity.begin() + 2; it != entity.end(); ++it)
|
||||
{
|
||||
- if (*it >= L'0' && *it <= L'9')
|
||||
+ if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9')
|
||||
code = code * 16 + (it->value() - L'0');
|
||||
- else if (*it >= L'A' && *it <= L'F')
|
||||
+ else if ( (int) *it >= (int) L'A' && (int) *it <= (int) L'F')
|
||||
code = code * 16 + (it->value() - L'A' + 10);
|
||||
- else if (*it >= L'a' && *it <= L'f')
|
||||
+ else if ( (int) *it >= (int) L'a' && (int) *it <= (int) L'f')
|
||||
code = code * 16 + (it->value() - L'a' + 10);
|
||||
else
|
||||
throw std::runtime_error(std::string("invalid entity ") + entity.narrow());
|
||||
@@ -586,7 +586,7 @@ String EntityResolver::resolveEntity(const String& entity) const
|
||||
// dec notation: ✏
|
||||
for (String::const_iterator it = entity.begin() + 1; it != entity.end(); ++it)
|
||||
{
|
||||
- if (*it >= L'0' && *it <= L'9')
|
||||
+ if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9')
|
||||
code = code * 10 + (it->value() - '0');
|
||||
else
|
||||
throw std::runtime_error(std::string("invalid entity ") + entity.narrow());
|
17
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-Char_operator_eq_unsigned_int.patch
vendored
Normal file
17
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-Char_operator_eq_unsigned_int.patch
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
Index: cxxtools-2.2/include/cxxtools/char.h
|
||||
===================================================================
|
||||
--- cxxtools-2.2.orig/include/cxxtools/char.h 2013-05-05 14:18:00.180572107 +0300
|
||||
+++ cxxtools-2.2/include/cxxtools/char.h 2013-05-05 14:18:00.176571966 +0300
|
||||
@@ -148,6 +148,12 @@
|
||||
friend bool operator==(char a, const Char& b)
|
||||
{ return a == b.value(); }
|
||||
|
||||
+ //! @brief Returns $true$ if the a and b are the same character; $false$ otherwise.
|
||||
+ //! @return $true$ if the a and b are the same character; $false$ otherwise.
|
||||
+ friend bool operator==(const Char& a, unsigned int b)
|
||||
+ { return a.value() == b; }
|
||||
+
|
||||
+
|
||||
//! @brief Returns $true$ if the a and b are not the same character; $false$ otherwise.
|
||||
//! @return $true$ if the a and b are not the same character; $false$ otherwise.
|
||||
friend bool operator!=(const Char& a, const Char& b)
|
12
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-hdstream_stdio.patch
vendored
Normal file
12
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-hdstream_stdio.patch
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
Index: cxxtools-2.0/src/hdstream.cpp
|
||||
===================================================================
|
||||
--- cxxtools-2.0.orig/src/hdstream.cpp 2011-08-08 13:07:59.567275994 +0300
|
||||
+++ cxxtools-2.0/src/hdstream.cpp 2011-08-08 13:08:11.447275959 +0300
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <ios>
|
||||
#include <iomanip>
|
||||
#include <cctype>
|
||||
+#include <cstdio>
|
||||
|
||||
namespace cxxtools
|
||||
{
|
10
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-no_shared_flag.patch
vendored
Normal file
10
packages/3rdparty/lib/cxxtools/patches/cxxtools-2.2-no_shared_flag.patch
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
Index: cxxtools-2.2/src/Makefile.am
|
||||
===================================================================
|
||||
--- cxxtools-2.2.orig/src/Makefile.am 2013-05-05 13:56:03.225204926 +0300
|
||||
+++ cxxtools-2.2/src/Makefile.am 2013-05-05 13:56:14.017219885 +0300
|
||||
@@ -215,4 +215,4 @@
|
||||
endif
|
||||
|
||||
libcxxtools_la_LIBADD = $(LIBICONV)
|
||||
-libcxxtools_la_LDFLAGS = -version-info @sonumber@ @SHARED_LIB_FLAG@
|
||||
+libcxxtools_la_LDFLAGS = -version-info @sonumber@
|
@ -1,12 +0,0 @@
|
||||
Index: vdr-plugin-live-0.2.0/thread.cpp
|
||||
===================================================================
|
||||
--- vdr-plugin-live-0.2.0.orig/thread.cpp 2011-08-25 21:58:33.000000000 +0200
|
||||
+++ vdr-plugin-live-0.2.0/thread.cpp 2011-08-25 21:58:37.000000000 +0200
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <stdexcept>
|
||||
#include <vdr/tools.h>
|
||||
#include <tnt/tntnet.h>
|
||||
+#include <tnt/tntconfig.h>
|
||||
#include "thread.h"
|
||||
#include "tntconfig.h"
|
||||
|
290
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-04_tntnet-2.2-1.patch
vendored
Normal file
290
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-04_tntnet-2.2-1.patch
vendored
Normal file
@ -0,0 +1,290 @@
|
||||
commit 042724e30d5690ab67a6c04aea48a16b9a3b085b
|
||||
Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
|
||||
Date: Fri May 3 01:37:41 2013 +0200
|
||||
|
||||
Make LIVE compile and work with Tntnet and cxxtools version 2.2.
|
||||
Thanks to Tommi Mäkitalo for his help on resolving the issues.
|
||||
This problem was reported by Martin Gansser and by the user 'varas' in
|
||||
the bugtracker as bug #1351. This commit fixes that bug.
|
||||
|
||||
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
|
||||
index 51018bb..80f145b 100644
|
||||
--- a/pages/recordings.ecpp
|
||||
+++ b/pages/recordings.ecpp
|
||||
@@ -205,7 +205,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
|
||||
<& rec_item_dir name=(recItem->Name()) level=(level) &>
|
||||
<%cpp>
|
||||
#if TNT_HAS_QUERYPARAMS
|
||||
+#if TNT_QUERYPARAMS_NO_BOOL
|
||||
+ tnt::QueryParams recItemParams(qparam);
|
||||
+#else
|
||||
tnt::QueryParams recItemParams(qparam, false);
|
||||
+#endif
|
||||
#else
|
||||
cxxtools::QueryParams recItemParams(qparam, false);
|
||||
#endif
|
||||
diff --git a/tntconfig.cpp b/tntconfig.cpp
|
||||
index 3a1fd14..3325776 100644
|
||||
--- a/tntconfig.cpp
|
||||
+++ b/tntconfig.cpp
|
||||
@@ -3,7 +3,13 @@
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <stdexcept>
|
||||
+#include "tntfeatures.h"
|
||||
+#if TNT_LOG_SERINFO
|
||||
+#include <cxxtools/log.h>
|
||||
+#include <cxxtools/xml/xmldeserializer.h>
|
||||
+#else
|
||||
#include <cxxtools/loginit.h>
|
||||
+#endif
|
||||
#include <tnt/sessionscope.h>
|
||||
#include <tnt/httpreply.h>
|
||||
#include <vdr/config.h>
|
||||
@@ -181,19 +187,67 @@ namespace vdrlive {
|
||||
#endif
|
||||
|
||||
#if TNT_CONFIG_INTERNAL
|
||||
+ namespace {
|
||||
+ std::string GetResourcePath()
|
||||
+ {
|
||||
+#if APIVERSNUM > 10729
|
||||
+ string resourceDir(Plugin::GetResourceDirectory());
|
||||
+ return resourceDir;
|
||||
+#else
|
||||
+ string configDir(Plugin::GetConfigDirectory());
|
||||
+ return configDir;
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ void MapUrl(tnt::Tntnet & app, const char *rule, const char * component, std::string const & instPath, const char * pathInfo, const char * mime_type)
|
||||
+ {
|
||||
+#if TNT_MAPURL_NAMED_ARGS
|
||||
+ tnt::Mapping::args_type argMap;
|
||||
+ argMap.insert(std::make_pair("mime-type", mime_type));
|
||||
+#endif
|
||||
+ app.mapUrl(rule, component)
|
||||
+ .setPathInfo(instPath + pathInfo)
|
||||
+#if TNT_MAPURL_NAMED_ARGS
|
||||
+ .setArgs(argMap);
|
||||
+#else
|
||||
+ .pushArg(mime_type);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
void TntConfig::Configure(tnt::Tntnet& app) const
|
||||
{
|
||||
string const configDir(Plugin::GetConfigDirectory());
|
||||
-#if APIVERSNUM > 10729
|
||||
- string const resourceDir(Plugin::GetResourceDirectory());
|
||||
-#endif
|
||||
|
||||
+#if TNT_LOG_SERINFO
|
||||
+ cxxtools::SerializationInfo si;
|
||||
+ std::istringstream logXmlConf(
|
||||
+ "<logging>\n"
|
||||
+ " <rootlogger>" + LiveSetup().GetTntnetLogLevel() + "</rootlogger>\n"
|
||||
+ " <loggers>\n"
|
||||
+ " <logger>\n"
|
||||
+ " <category>cxxtools</category>\n"
|
||||
+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
|
||||
+ " </logger>\n"
|
||||
+ " <logger>\n"
|
||||
+ " <category>tntnet</category>\n"
|
||||
+ " <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
|
||||
+ " </logger>\n"
|
||||
+ " </loggers>\n"
|
||||
+ "</logging>\n"
|
||||
+ );
|
||||
+ cxxtools::xml::XmlDeserializer d(logXmlConf);
|
||||
+ d.deserialize(si);
|
||||
+ log_init(si);
|
||||
+#else
|
||||
std::istringstream logConf(
|
||||
"rootLogger=" + LiveSetup().GetTntnetLogLevel() + "\n"
|
||||
"logger.tntnet=" + LiveSetup().GetTntnetLogLevel() + "\n"
|
||||
"logger.cxxtools=" + LiveSetup().GetTntnetLogLevel() + "\n"
|
||||
);
|
||||
+
|
||||
log_init(logConf);
|
||||
+#endif
|
||||
|
||||
// +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -229,13 +283,12 @@ namespace vdrlive {
|
||||
|
||||
// the following selects the theme specific 'theme.css' file
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/themes/([^/]*)/css.*/(.+\\.css)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/themes/$1/css/$2")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/themes/$1/css/$2")
|
||||
-#endif
|
||||
- .pushArg("text/css");
|
||||
+ MapUrl(app,
|
||||
+ "^/themes/([^/]*)/css.*/(.+\\.css)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/themes/$1/css/$2",
|
||||
+ "text/css");
|
||||
|
||||
// the following rules provide a search scheme for images. The first
|
||||
// rule where a image is found, terminates the search.
|
||||
@@ -243,79 +296,82 @@ namespace vdrlive {
|
||||
// 2. /img/<imgname>.<ext>
|
||||
// deprecated: 3. <imgname>.<ext> (builtin images)
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/themes/$1/img/$2.$3")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/themes/$1/img/$2.$3")
|
||||
-#endif
|
||||
- .pushArg("image/$3");
|
||||
- app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/img/$2.$3")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/img/$2.$3")
|
||||
-#endif
|
||||
- .pushArg("image/$3");
|
||||
+ MapUrl(app,
|
||||
+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/themes/$1/img/$2.$3",
|
||||
+ "image/$3");
|
||||
+
|
||||
+ MapUrl(app,
|
||||
+ "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/img/$2.$3",
|
||||
+ "image/$3");
|
||||
// deprecated: file << "MapUrl ^/themes/([^/]*)/img.*/(.+)\\.(.+) $2@" << endl;
|
||||
|
||||
// Epg images
|
||||
string const epgImgPath(LiveSetup().GetEpgImageDir());
|
||||
if (!epgImgPath.empty()) {
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/epgimages/([^/]*)\\.([^./]+)", "content")
|
||||
- .setPathInfo(epgImgPath + "/$1.$2")
|
||||
- .pushArg("image/$2");
|
||||
+ MapUrl(app,
|
||||
+ "^/epgimages/([^/]*)\\.([^./]+)",
|
||||
+ "content",
|
||||
+ epgImgPath,
|
||||
+ "/$1.$2",
|
||||
+ "image/$2");
|
||||
}
|
||||
|
||||
// select additional (not build in) javascript.
|
||||
// WARNING: no path components with '.' in the name are allowed. Only
|
||||
// the basename may contain dots and must end with '.js'
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/js(/[^.]*)([^/]*\\.js)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/js$1$2")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/js$1$2")
|
||||
-#endif
|
||||
- .pushArg("text/javascript");
|
||||
+ MapUrl(app,
|
||||
+ "^/js(/[^.]*)([^/]*\\.js)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/js$1$2",
|
||||
+ "text/javascript");
|
||||
|
||||
// map to 'css/basename(uri)'
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/css.*/(.+)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/css/$1")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/css/$1")
|
||||
-#endif
|
||||
- .pushArg("text/css");
|
||||
+ MapUrl(app,
|
||||
+ "^/css.*/(.+)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/css/$1",
|
||||
+ "text/css");
|
||||
|
||||
// map to 'img/basename(uri)'
|
||||
// inserted by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
- app.mapUrl("^/img.*/(.+)\\.([^.]+)", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/img/$1.$2")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/img/$1.$2")
|
||||
-#endif
|
||||
- .pushArg("image/$2");
|
||||
+ MapUrl(app,
|
||||
+ "^/img.*/(.+)\\.([^.]+)",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/img/$1.$2",
|
||||
+ "image/$2");
|
||||
|
||||
// Map favicon.ico into img directory
|
||||
- app.mapUrl("^/favicon.ico$", "content")
|
||||
-#if APIVERSNUM > 10729
|
||||
- .setPathInfo(resourceDir + "/img/favicon.ico")
|
||||
-#else
|
||||
- .setPathInfo(configDir + "/img/favicon.ico")
|
||||
-#endif
|
||||
- .pushArg("image/x-icon");
|
||||
+ MapUrl(app,
|
||||
+ "^/favicon.ico$",
|
||||
+ "content",
|
||||
+ GetResourcePath(),
|
||||
+ "/img/favicon.ico",
|
||||
+ "image/x-icon");
|
||||
|
||||
// takes first path components without 'extension' when it does not
|
||||
// contain '.'
|
||||
// modified by 'tadi' -- verified with above, but not counterchecked yet!
|
||||
app.mapUrl("^/([^./]+)(.*)?", "$1");
|
||||
|
||||
+#if TNT_GLOBAL_TNTCONFIG
|
||||
+ tnt::TntConfig::it().sessionTimeout = 86400;
|
||||
+ tnt::TntConfig::it().defaultContentType = string("text/html; charset=") + LiveI18n().CharacterEncoding();
|
||||
+#else
|
||||
tnt::Sessionscope::setDefaultTimeout(86400);
|
||||
tnt::HttpReply::setDefaultContentType(string("text/html; charset=") + LiveI18n().CharacterEncoding());
|
||||
+#endif
|
||||
|
||||
Setup::IpList const& ips = LiveSetup().GetServerIps();
|
||||
int port = LiveSetup().GetServerPort();
|
||||
diff --git a/tntfeatures.h b/tntfeatures.h
|
||||
index 6de1f88..76d3757 100644
|
||||
--- a/tntfeatures.h
|
||||
+++ b/tntfeatures.h
|
||||
@@ -17,6 +17,9 @@
|
||||
// Query params are now in tntnet and not in cxxtools
|
||||
#define TNT_HAS_QUERYPARAMS (TNTVERSION >= 16060)
|
||||
|
||||
+// Query params without boolean parameter
|
||||
+#define TNT_QUERYPARAMS_NO_BOOL (TNTVERSION >= 22000)
|
||||
+
|
||||
// One can request the host part of the request url
|
||||
#define TNT_HAS_GETHOST (TNTVERSION >= 16060)
|
||||
|
||||
@@ -26,4 +29,13 @@
|
||||
// version of TNTNET that binds ipv6 addresses with IPV6_V6ONLY flag set to true
|
||||
#define TNT_IPV6_V6ONLY (CXXTOOLVER >= 21000)
|
||||
|
||||
+// version of TNTNET with properties deserializer for logger configuration args.
|
||||
+#define TNT_LOG_SERINFO (CXXTOOLVER >= 22000)
|
||||
+
|
||||
+// version of TNTNET wich expects name, value mappings for Url-Mapper arguments.
|
||||
+#define TNT_MAPURL_NAMED_ARGS (TNTVERSION >= 22000)
|
||||
+
|
||||
+// version of TNTNET where configuration is global
|
||||
+#define TNT_GLOBAL_TNTCONFIG (TNTVERSION >= 22000)
|
||||
+
|
||||
#endif // VDR_LIVE_TNTFEATURES_H
|
25
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-04_tntnet-2.2-2.patch
vendored
Normal file
25
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-04_tntnet-2.2-2.patch
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
commit 69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
|
||||
Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
|
||||
Date: Sat May 4 22:27:09 2013 +0200
|
||||
|
||||
With tntnet v2.2 use also the request.getArg(<name>) function.
|
||||
In the previous commit support for tntnet 2.2 was added. The URL
|
||||
mapping changed in that version and allows now named arguments. This
|
||||
change makes uses of this feature now.
|
||||
|
||||
diff --git a/pages/content.ecpp b/pages/content.ecpp
|
||||
index 27d827c..cde092f 100644
|
||||
--- a/pages/content.ecpp
|
||||
+++ b/pages/content.ecpp
|
||||
@@ -17,7 +17,11 @@ bool logged_in(false);
|
||||
|
||||
string mime("image/png");
|
||||
if (request.getArgsCount() > 0) {
|
||||
+#if TNT_MAPURL_NAMED_ARGS
|
||||
+ mime = request.getArg("mime-type");
|
||||
+#else
|
||||
mime = request.getArg(0);
|
||||
+#endif
|
||||
// dsyslog("vdrlive::content found mime arg (%s)", mime.c_str());
|
||||
}
|
||||
reply.setContentType(mime);
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-dvbapi"
|
||||
PKG_VERSION="555272d"
|
||||
PKG_VERSION="2be5e15"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
2
packages/3rdparty/multimedia/vdr/meta
vendored
2
packages/3rdparty/multimedia/vdr/meta
vendored
@ -20,7 +20,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr"
|
||||
PKG_VERSION="2.0.1"
|
||||
PKG_VERSION="2.0.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
8
packages/3rdparty/web/tntnet/build
vendored
8
packages/3rdparty/web/tntnet/build
vendored
@ -33,8 +33,8 @@ mkdir -p .build-host && cd .build-host
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-unittest \
|
||||
--with-server=no \
|
||||
--with-cgi=no \
|
||||
--with-sdk=yes \
|
||||
--with-demos=no \
|
||||
--with-epoll=yes \
|
||||
@ -58,11 +58,13 @@ mkdir -p .build-target && cd .build-target
|
||||
--sysconfdir=/etc \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-unittest \
|
||||
--with-sysroot=$SYSROOT_PREFIX \
|
||||
--with-server=no \
|
||||
--with-cgi=no \
|
||||
--with-sdk=yes \
|
||||
--with-sdk=no \
|
||||
--with-demos=no \
|
||||
--with-epoll=yes \
|
||||
--with-ssl=no \
|
||||
--with-stressjob=no
|
||||
|
||||
$MAKEINSTALL
|
||||
|
4
packages/3rdparty/web/tntnet/meta
vendored
4
packages/3rdparty/web/tntnet/meta
vendored
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tntnet"
|
||||
PKG_VERSION="2.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
@ -33,4 +33,4 @@ PKG_SHORTDESC="tntnet: C++ Dynamite for the Web"
|
||||
PKG_LONGDESC="Tntnet is a modular, multithreaded, high performance webapplicationserver for C++"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
PKG_AUTORECONF="no"
|
||||
|
18
packages/3rdparty/web/tntnet/patches/tntnet-2.2-fix_gcc47.patch
vendored
Normal file
18
packages/3rdparty/web/tntnet/patches/tntnet-2.2-fix_gcc47.patch
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
Description: Include unistd.h to fix FTBFS with gcc-4.7
|
||||
tntnet (2.1-1ubuntu1) quantal; urgency=low
|
||||
.
|
||||
* Add missing header to fix FTBFS with gcc4.7 on non-amd64 archs
|
||||
Author: Micah Gersten <micahg@ubuntu.com>
|
||||
|
||||
Index: tntnet-2.2/framework/defcomp/static.cpp
|
||||
===================================================================
|
||||
--- tntnet-2.2.orig/framework/defcomp/static.cpp 2013-04-21 22:13:57.000000000 +0300
|
||||
+++ tntnet-2.2/framework/defcomp/static.cpp 2013-05-19 23:12:17.000000000 +0300
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <tnt/http.h>
|
||||
#include <tnt/httpheader.h>
|
||||
#include <tnt/comploader.h>
|
||||
+#include <unistd.h>
|
||||
#include <fstream>
|
||||
#include <cxxtools/log.h>
|
||||
#include <cxxtools/systemerror.h>
|
@ -71,6 +71,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
|
||||
cp -PR $BUILD/vdr-plugin-xvdr-*/xvdr/allowed_hosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
|
||||
cp -PR $BUILD/vdr-plugin-xvdr-*/xvdr/xvdr.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/vnsiserver
|
||||
cp -PR $BUILD/vdr-plugin-vnsiserver-*/vnsiserver/allowed_hosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/vnsiserver
|
||||
@ -80,7 +81,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $BUILD/vdr-plugin-xmltv2vdr*/dist/epgdata2xmltv/epgdata2xmltv $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -P $BUILD/tntnet-[0-9]*/.build-target/framework/common/.libs/*.so* $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -P $BUILD/tntnet-[0-9]*/.build-target/framework/common/.libs/libtntnet.so.11.0.0 $ADDON_BUILD/$PKG_ADDON_ID/lib/libtntnet.so.11
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
cp -PR $BUILD/vdr-plugin-streamdev-*/streamdev-server/streamdevhosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
|
31
packages/linux/patches/3.11.4/linux-210.01-dvbsky-auto-off.patch
vendored
Normal file
31
packages/linux/patches/3.11.4/linux-210.01-dvbsky-auto-off.patch
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c
|
||||
index 315809d..54dff7c 100644
|
||||
--- a/drivers/media/dvb-frontends/m88ds3103.c
|
||||
+++ b/drivers/media/dvb-frontends/m88ds3103.c
|
||||
@@ -1244,6 +1244,8 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
||||
dprintk("symbol rate = %d\n", c->symbol_rate);
|
||||
dprintk("delivery system = %d\n", c->delivery_system);
|
||||
|
||||
+ state->delivery_system = c->delivery_system;
|
||||
+
|
||||
realFreq = c->frequency;
|
||||
lpf_offset_KHz = 0;
|
||||
if(c->symbol_rate < 5000000){
|
||||
@@ -1501,7 +1503,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
||||
}
|
||||
msleep(20);
|
||||
}
|
||||
-
|
||||
+/*
|
||||
if((status & FE_HAS_LOCK) == 0){
|
||||
state->delivery_system = (state->delivery_system == SYS_DVBS) ? SYS_DVBS2 : SYS_DVBS;
|
||||
m88ds3103_demod_connect(fe, offset_khz);
|
||||
@@ -1514,7 +1516,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
||||
msleep(20);
|
||||
}
|
||||
}
|
||||
-
|
||||
+*/
|
||||
if (status & FE_HAS_LOCK){
|
||||
if(state->config->ci_mode == 2)
|
||||
m88ds3103_set_clock_ratio(state);
|
@ -202,7 +202,7 @@ index 2e7493e..7c0b89e 100644
|
||||
+/* shared with patch_hdmi.c and hda_eld.c */
|
||||
+#define is_atihdmi(codec) (((codec)->vendor_id & 0xffff0000) == 0x10020000)
|
||||
+#define is_amdhdmi_rev3(codec) \
|
||||
+ ((codec)->vendor_id == 0x1002791a && ((codec)->revision_id & 0xff00) >= 0x0300)
|
||||
+ ((codec)->vendor_id == 0x1002aa01 && ((codec)->revision_id & 0xff00) >= 0x0300)
|
||||
+
|
||||
#endif /* __SOUND_HDA_LOCAL_H */
|
||||
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 7c1bae9cc4819ed9148354fd878824b40bd7a6a5 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sun, 6 Oct 2013 17:48:50 +0300
|
||||
Subject: [PATCH] fix scrambled/hd channel scan
|
||||
|
||||
from wirbelscan:
|
||||
#define SCAN_TV ( 1 << 0 )
|
||||
#define SCAN_RADIO ( 1 << 1 )
|
||||
#define SCAN_FTA ( 1 << 2 )
|
||||
#define SCAN_SCRAMBLED ( 1 << 3 )
|
||||
#define SCAN_HD ( 1 << 4 )
|
||||
---
|
||||
src/libxvdr/include/xvdr/dataset.h | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/libxvdr/include/xvdr/dataset.h b/src/libxvdr/include/xvdr/dataset.h
|
||||
index 53b0540..36d9a94 100644
|
||||
--- a/src/libxvdr/include/xvdr/dataset.h
|
||||
+++ b/src/libxvdr/include/xvdr/dataset.h
|
||||
@@ -287,8 +287,8 @@ public:
|
||||
FLAG_TV = 1,
|
||||
FLAG_RADIO = 2,
|
||||
FLAG_FTA = 4,
|
||||
- FLAG_SCRAMBLED = 16,
|
||||
- FLAG_HDTV = 32
|
||||
+ FLAG_SCRAMBLED = 8,
|
||||
+ FLAG_HDTV = 16
|
||||
} Flags;
|
||||
|
||||
Verbosity verbosity;
|
||||
--
|
||||
1.7.2.5
|
||||
|
@ -1,159 +0,0 @@
|
||||
From b0dd079bee34969dade531ec33bc933cf5565964 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Meyerholt <dxm523@gmail.com>
|
||||
Date: Wed, 19 Jun 2013 18:55:54 +0200
|
||||
Subject: [PATCH] Update xbmc addon headers
|
||||
|
||||
---
|
||||
src/xvdr/XBMCAddon.cpp | 2 +-
|
||||
src/xvdr/include/DVDDemuxPacket.h | 2 +-
|
||||
src/xvdr/include/xbmc_addon_dll.h | 2 +-
|
||||
src/xvdr/include/xbmc_epg_types.h | 2 +-
|
||||
src/xvdr/include/xbmc_pvr_dll.h | 3 ++-
|
||||
src/xvdr/include/xbmc_pvr_types.h | 25 ++++++++++++++++++++-----
|
||||
6 files changed, 26 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/xvdr/XBMCAddon.cpp b/src/xvdr/XBMCAddon.cpp
|
||||
index 60bfbe8..23c89a0 100644
|
||||
--- a/src/xvdr/XBMCAddon.cpp
|
||||
+++ b/src/xvdr/XBMCAddon.cpp
|
||||
@@ -828,7 +828,7 @@ int GetRecordingLastPlayedPosition(const PVR_RECORDING &recording)
|
||||
return mClient->GetRecordingLastPosition(recording.strRecordingId);
|
||||
}
|
||||
|
||||
-PVR_ERROR CallMenuHook(const PVR_MENUHOOK &menuhook) {
|
||||
+PVR_ERROR CallMenuHook(const PVR_MENUHOOK &menuhook, const PVR_MENUHOOK_DATA &item) {
|
||||
switch(menuhook.iHookId) {
|
||||
case XVDR_HOOK_SETTINGS_CHANNELSCAN:
|
||||
DialogChannelScan();
|
||||
diff --git a/src/xvdr/include/DVDDemuxPacket.h b/src/xvdr/include/DVDDemuxPacket.h
|
||||
index 7d9967e..cf3c1e0 100644
|
||||
--- a/src/xvdr/include/DVDDemuxPacket.h
|
||||
+++ b/src/xvdr/include/DVDDemuxPacket.h
|
||||
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
- * Copyright (C) 2012 Team XBMC
|
||||
+ * Copyright (C) 2012-2013 Team XBMC
|
||||
* http://www.xbmc.org
|
||||
*
|
||||
* This Program is free software; you can redistribute it and/or modify
|
||||
diff --git a/src/xvdr/include/xbmc_addon_dll.h b/src/xvdr/include/xbmc_addon_dll.h
|
||||
index 9402623..12d3d91 100644
|
||||
--- a/src/xvdr/include/xbmc_addon_dll.h
|
||||
+++ b/src/xvdr/include/xbmc_addon_dll.h
|
||||
@@ -21,7 +21,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef TARGET_WINDOWS
|
||||
#include <windows.h>
|
||||
#else
|
||||
#ifndef __cdecl
|
||||
diff --git a/src/xvdr/include/xbmc_epg_types.h b/src/xvdr/include/xbmc_epg_types.h
|
||||
index 2284dda..c486be4 100644
|
||||
--- a/src/xvdr/include/xbmc_epg_types.h
|
||||
+++ b/src/xvdr/include/xbmc_epg_types.h
|
||||
@@ -26,7 +26,7 @@
|
||||
#undef PRAGMA_PACK_BEGIN
|
||||
#undef PRAGMA_PACK_END
|
||||
|
||||
-#if defined(__GNUC__) && !defined(__MINGW32__)
|
||||
+#if defined(__GNUC__)
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
#define ATTRIBUTE_PACKED __attribute__ ((packed))
|
||||
#define PRAGMA_PACK 0
|
||||
diff --git a/src/xvdr/include/xbmc_pvr_dll.h b/src/xvdr/include/xbmc_pvr_dll.h
|
||||
index a40022b..5ef7b95 100644
|
||||
--- a/src/xvdr/include/xbmc_pvr_dll.h
|
||||
+++ b/src/xvdr/include/xbmc_pvr_dll.h
|
||||
@@ -108,10 +108,11 @@
|
||||
* Call one of the menu hooks (if supported).
|
||||
* Supported PVR_MENUHOOK instances have to be added in ADDON_Create(), by calling AddMenuHook() on the callback.
|
||||
* @param menuhook The hook to call.
|
||||
+ * @param item The selected item for which the hook was called.
|
||||
* @return PVR_ERROR_NO_ERROR if the hook was called successfully.
|
||||
* @remarks Optional. Return PVR_ERROR_NOT_IMPLEMENTED if this add-on won't provide this function.
|
||||
*/
|
||||
- PVR_ERROR CallMenuHook(const PVR_MENUHOOK& menuhook);
|
||||
+ PVR_ERROR CallMenuHook(const PVR_MENUHOOK& menuhook, const PVR_MENUHOOK_DATA &item);
|
||||
//@}
|
||||
|
||||
/*! @name PVR EPG methods
|
||||
diff --git a/src/xvdr/include/xbmc_pvr_types.h b/src/xvdr/include/xbmc_pvr_types.h
|
||||
index a8193ed..1fb0c6c 100644
|
||||
--- a/src/xvdr/include/xbmc_pvr_types.h
|
||||
+++ b/src/xvdr/include/xbmc_pvr_types.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __PVRCLIENT_TYPES_H__
|
||||
#define __PVRCLIENT_TYPES_H__
|
||||
|
||||
-#ifdef _WIN32
|
||||
+#ifdef TARGET_WINDOWS
|
||||
#include <windows.h>
|
||||
#else
|
||||
#ifndef __cdecl
|
||||
@@ -52,7 +52,7 @@
|
||||
#undef PRAGMA_PACK_BEGIN
|
||||
#undef PRAGMA_PACK_END
|
||||
|
||||
-#if defined(__GNUC__) && !defined(__MINGW32__)
|
||||
+#if defined(__GNUC__)
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
#define ATTRIBUTE_PACKED __attribute__ ((packed))
|
||||
#define PRAGMA_PACK 0
|
||||
@@ -74,10 +74,10 @@
|
||||
#define PVR_STREAM_MAX_STREAMS 20
|
||||
|
||||
/* current PVR API version */
|
||||
-#define XBMC_PVR_API_VERSION "1.7.0"
|
||||
+#define XBMC_PVR_API_VERSION "1.8.0"
|
||||
|
||||
/* min. PVR API version */
|
||||
-#define XBMC_PVR_MIN_API_VERSION "1.7.0"
|
||||
+#define XBMC_PVR_MIN_API_VERSION "1.8.0"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -121,6 +121,7 @@
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
+ PVR_MENUHOOK_UNKNOWN =-1, /*!< @brief unknown menu hook */
|
||||
PVR_MENUHOOK_ALL = 0, /*!< @brief all categories */
|
||||
PVR_MENUHOOK_CHANNEL = 1, /*!< @brief for channels */
|
||||
PVR_MENUHOOK_TIMER = 2, /*!< @brief for timers */
|
||||
@@ -310,6 +311,20 @@
|
||||
} ATTRIBUTE_PACKED PVR_EDL_ENTRY;
|
||||
|
||||
/*!
|
||||
+ * @brief PVR menu hook data
|
||||
+ */
|
||||
+ typedef struct PVR_MENUHOOK_DATA
|
||||
+ {
|
||||
+ PVR_MENUHOOK_CAT cat;
|
||||
+ union data {
|
||||
+ int iEpgUid;
|
||||
+ PVR_CHANNEL channel;
|
||||
+ PVR_TIMER timer;
|
||||
+ PVR_RECORDING recording;
|
||||
+ } data;
|
||||
+ } ATTRIBUTE_PACKED PVR_MENUHOOK_DATA;
|
||||
+
|
||||
+ /*!
|
||||
* @brief Structure to transfer the methods from xbmc_pvr_dll.h to XBMC
|
||||
*/
|
||||
typedef struct PVRClient
|
||||
@@ -324,7 +339,7 @@
|
||||
const char* (__cdecl* GetBackendVersion)(void);
|
||||
const char* (__cdecl* GetConnectionString)(void);
|
||||
PVR_ERROR (__cdecl* GetDriveSpace)(long long*, long long*);
|
||||
- PVR_ERROR (__cdecl* MenuHook)(const PVR_MENUHOOK&);
|
||||
+ PVR_ERROR (__cdecl* MenuHook)(const PVR_MENUHOOK&, const PVR_MENUHOOK_DATA&);
|
||||
PVR_ERROR (__cdecl* GetEpg)(ADDON_HANDLE, const PVR_CHANNEL&, time_t, time_t);
|
||||
int (__cdecl* GetChannelGroupsAmount)(void);
|
||||
PVR_ERROR (__cdecl* GetChannelGroups)(ADDON_HANDLE, bool);
|
||||
--
|
||||
1.8.1.6
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 7c1bae9cc4819ed9148354fd878824b40bd7a6a5 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sun, 6 Oct 2013 17:48:50 +0300
|
||||
Subject: [PATCH] fix scrambled/hd channel scan
|
||||
|
||||
from wirbelscan:
|
||||
#define SCAN_TV ( 1 << 0 )
|
||||
#define SCAN_RADIO ( 1 << 1 )
|
||||
#define SCAN_FTA ( 1 << 2 )
|
||||
#define SCAN_SCRAMBLED ( 1 << 3 )
|
||||
#define SCAN_HD ( 1 << 4 )
|
||||
---
|
||||
src/libxvdr/include/xvdr/dataset.h | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/libxvdr/include/xvdr/dataset.h b/src/libxvdr/include/xvdr/dataset.h
|
||||
index 53b0540..36d9a94 100644
|
||||
--- a/src/libxvdr/include/xvdr/dataset.h
|
||||
+++ b/src/libxvdr/include/xvdr/dataset.h
|
||||
@@ -287,8 +287,8 @@ public:
|
||||
FLAG_TV = 1,
|
||||
FLAG_RADIO = 2,
|
||||
FLAG_FTA = 4,
|
||||
- FLAG_SCRAMBLED = 16,
|
||||
- FLAG_HDTV = 32
|
||||
+ FLAG_SCRAMBLED = 8,
|
||||
+ FLAG_HDTV = 16
|
||||
} Flags;
|
||||
|
||||
Verbosity verbosity;
|
||||
--
|
||||
1.7.2.5
|
||||
|
@ -21,7 +21,7 @@
|
||||
PKG_NAME="xbmc-theme-Confluence"
|
||||
PKG_VERSION="12.2-49f61b4"
|
||||
if [ "$XBMC" = "master" ]; then
|
||||
PKG_VERSION="13.alpha-9df3bc9"
|
||||
PKG_VERSION="13.alpha-3723806"
|
||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||
PKG_VERSION="aml-frodo-d9119f2"
|
||||
fi
|
||||
|
@ -21,7 +21,7 @@
|
||||
PKG_NAME="xbmc"
|
||||
PKG_VERSION="12.2-49f61b4"
|
||||
if [ "$XBMC" = "master" ]; then
|
||||
PKG_VERSION="13.alpha-9df3bc9"
|
||||
PKG_VERSION="13.alpha-3723806"
|
||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||
PKG_VERSION="aml-frodo-d9119f2"
|
||||
fi
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,17 +0,0 @@
|
||||
diff -Naur xbmc-12.2-5ba69b6/xbmc/storage/linux/UDevProvider.cpp xbmc-12.2-5ba69b6.patch/xbmc/storage/linux/UDevProvider.cpp
|
||||
--- xbmc-12.2-5ba69b6/xbmc/storage/linux/UDevProvider.cpp 2013-08-22 21:37:41.543830684 +0200
|
||||
+++ xbmc-12.2-5ba69b6.patch/xbmc/storage/linux/UDevProvider.cpp 2013-08-22 21:37:34.557825148 +0200
|
||||
@@ -145,10 +145,12 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
- // look for usb devices on the usb bus or mounted on /media/usbX (sdcards)
|
||||
+ // look for usb devices on the usb bus, or mounted on /media/usbX (sdcards) or cdroms
|
||||
const char *bus = udev_device_get_property_value(device, "ID_BUS");
|
||||
+ const char *cdrom = udev_device_get_property_value(device, "ID_CDROM");
|
||||
if (removable &&
|
||||
((bus && strstr(bus, "usb")) ||
|
||||
+ (cdrom && strstr(cdrom,"1")) ||
|
||||
(mountpoint && strstr(mountpoint, "usb"))))
|
||||
{
|
||||
const char *label = udev_device_get_property_value(device, "ID_FS_LABEL");
|
@ -1,25 +0,0 @@
|
||||
From 6d64d70a46b8f238d2706017a084f30bd681f291 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sat, 31 Aug 2013 13:44:53 +0300
|
||||
Subject: [PATCH] show all removable disks mounted under /media
|
||||
|
||||
---
|
||||
xbmc/storage/linux/UDevProvider.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/xbmc/storage/linux/UDevProvider.cpp b/xbmc/storage/linux/UDevProvider.cpp
|
||||
index c20facc..c1044c8 100644
|
||||
--- a/xbmc/storage/linux/UDevProvider.cpp
|
||||
+++ b/xbmc/storage/linux/UDevProvider.cpp
|
||||
@@ -151,7 +151,7 @@ void CUDevProvider::GetDisks(VECSOURCES& disks, bool removable)
|
||||
if (removable &&
|
||||
((bus && strstr(bus, "usb")) ||
|
||||
(cdrom && strstr(cdrom,"1")) ||
|
||||
- (mountpoint && strstr(mountpoint, "usb"))))
|
||||
+ (mountpoint && strstr(mountpoint, "/media/"))))
|
||||
{
|
||||
const char *label = udev_device_get_property_value(device, "ID_FS_LABEL");
|
||||
if (!label)
|
||||
--
|
||||
1.7.2.5
|
||||
|
Loading…
x
Reference in New Issue
Block a user