Merge pull request #531 from stefansaraev/vdr-epgsearch

vdr updates
This commit is contained in:
Stephan Raue 2012-04-27 08:44:03 -07:00
commit be892fbee1
20 changed files with 155 additions and 154 deletions

View File

@ -0,0 +1,28 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
VDR_DIR=`basename $BUILD/vdr-[0-9]*`
cd $PKG_BUILD
PWD=`pwd`
make VDRDIR="$PWD/../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale"

View File

@ -0,0 +1,37 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="vdr-epgsearch"
PKG_VERSION="1.0.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://winni.vdr-developer.org/epgsearch/"
PKG_URL="http://winni.vdr-developer.org/epgsearch/downloads/${PKG_NAME}-${PKG_VERSION}.tgz"
PKG_DEPENDS="vdr"
PKG_BUILD_DEPENDS="toolchain vdr"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-epgsearch"
PKG_LONGDESC="vdr-epgsearch"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@ -0,0 +1,46 @@
From 15d08ffb09de612ae1eb53b2aeca2f906f7076a6 Mon Sep 17 00:00:00 2001
From: Christian Wieninger
Date: Sun, 04 Mar 2012 08:44:19 +0000
Subject: support for vdr 1.7.25
---
diff --git a/Makefile b/Makefile
index 0397217..4a72b41 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,7 @@ CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -Wno-format-y2k
### The directory environment:
-DVBDIR = ../../../../DVB
+#DVBDIR = ../../../../DVB
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
diff --git a/conflictcheck.h b/conflictcheck.h
index fcc6dcb..7e6fb7a 100644
--- a/conflictcheck.h
+++ b/conflictcheck.h
@@ -163,12 +163,20 @@ class cConflictCheckDevice
result = true;
#ifdef DO_REC_AND_PLAY_ON_PRIMARY_DEVICE
else
+#if APIVERSNUM < 10725
result = Priority >= Setup.PrimaryLimit;
+#else
+ result = Priority >= 0;
+#endif
#endif
#endif
}
else
+#if APIVERSNUM < 10725
result = !IsPrimaryDevice() || Priority >= Setup.PrimaryLimit;
+#else
+ result = !IsPrimaryDevice() || Priority >= 0;
+#endif
}
else
needsDetachReceivers = true;
--
cgit v0.9.0.2-39-g756e

View File

@ -0,0 +1,27 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
cd $BUILD
#mv epgsearch-${PKG_VERSION} ${PKG_NAME}-${PKG_VERSION}
mv epgsearch-${PKG_VERSION} ${PKG_NAME}-${PKG_VERSION}

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-iptv"
PKG_VERSION="0.5.0"
PKG_VERSION="0.5.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,36 +0,0 @@
commit 9766e893eb3ed1076e41f89b663b3be122355f39
Author: Stefan Saraev <stefan@saraev.ca>
Date: Wed Mar 7 00:13:55 2012 +0200
vdr-iptv: protocolhttp socket connect() fix
diff --git a/protocolhttp.c b/protocolhttp.c
index 62abbd6..2d5277a 100644
--- a/protocolhttp.c
+++ b/protocolhttp.c
@@ -42,6 +42,25 @@ bool cIptvProtocolHttp::Connect(void)
if (!isActive && !isempty(streamAddr) && !isempty(streamPath)) {
// Ensure that socket is valid and connect
OpenSocket(socketPort, streamAddr);
+
+ // First try only the IP address
+ sockAddr.sin_addr.s_addr = inet_addr(streamAddr);
+
+ if (sockAddr.sin_addr.s_addr == INADDR_NONE) {
+ debug("Cannot convert %s directly to internet address\n", streamAddr);
+
+ // It may be a host name, get the name
+ struct hostent *host;
+ host = gethostbyname(streamAddr);
+ if (!host) {
+ char tmp[64];
+ error("%s is not valid address: %s", streamAddr, strerror_r(h_errno, tmp, sizeof(tmp)));
+ return false;
+ }
+
+ sockAddr.sin_addr.s_addr = inet_addr(*host->h_addr_list);
+ }
+
if (!ConnectSocket()) {
CloseSocket();
return false;

View File

@ -1,29 +0,0 @@
commit 67d5e792aa30100b111490c3c9e1c01f9def3c86
Author: Stefan Saraev <stefan@saraev.ca>
Date: Thu Mar 15 00:02:50 2012 +0200
vdr-iptv: skip header processing
diff --git a/protocolhttp.c b/protocolhttp.c
index 2d5277a..9b305aa 100644
--- a/protocolhttp.c
+++ b/protocolhttp.c
@@ -154,17 +154,7 @@ bool cIptvProtocolHttp::ProcessHeaders(void)
memset(buf, '\0', sizeof(buf));
if (!GetHeaderLine(buf, sizeof(buf), lineLength))
return false;
- if (!responseFound && sscanf(buf, "HTTP/1.%*i %i ", &response) != 1) {
- error("Expected HTTP header not found\n");
- continue;
- }
- else
- responseFound = true;
- // Allow only 'OK' and 'Partial Content'
- if ((response != 200) && (response != 206)) {
- error("Invalid HTTP response (%d): %s\n", response, buf);
- return false;
- }
+ responseFound = true;
}
return true;
}

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-dvbapi"
PKG_VERSION="9bef03f"
PKG_VERSION="329cbe8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-streamdev"
PKG_VERSION="a179771"
PKG_VERSION="8719007"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vdr-plugin-xvdr"
PKG_VERSION="c98852f"
PKG_VERSION="b62ccbd"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,84 +0,0 @@
diff --git a/src/live/livepatfilter.c b/src/live/livepatfilter.c
index e811c8c..f1b94fd 100644
--- a/src/live/livepatfilter.c
+++ b/src/live/livepatfilter.c
@@ -447,7 +447,7 @@ void cLivePatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Le
}
}
- m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel->GetChannelID(), m_Streamer->m_Priority, m_Streamer->m_Pids);
+ m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel, m_Streamer->m_Priority, m_Streamer->m_Pids);
m_Streamer->m_Device->AttachReceiver(m_Streamer->m_Receiver);
INFOLOG("Currently unknown new streams found, requesting stream change");
m_Streamer->RequestStreamChange();
diff --git a/src/live/livereceiver.c b/src/live/livereceiver.c
index 34f5ba8..528f65a 100644
--- a/src/live/livereceiver.c
+++ b/src/live/livereceiver.c
@@ -27,10 +27,12 @@
#include "livereceiver.h"
#include "livestreamer.h"
-cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids)
- : cReceiver(ChannelID, Priority, 0, Pids)
+cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids)
+ : cReceiver(Channel, Priority)
, m_Streamer(Streamer)
{
+ AddPid(0);
+ AddPids(Pids);
DEBUGLOG("Starting live receiver");
}
diff --git a/src/live/livereceiver.h b/src/live/livereceiver.h
index 8d23522..2ccd8bf 100644
--- a/src/live/livereceiver.h
+++ b/src/live/livereceiver.h
@@ -42,7 +42,7 @@ protected:
virtual void Receive(uchar *Data, int Length);
public:
- cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids);
+ cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids);
virtual ~cLiveReceiver();
};
diff --git a/src/live/livestreamer.c b/src/live/livestreamer.c
index a2d6826..6bafc02 100644
--- a/src/live/livestreamer.c
+++ b/src/live/livestreamer.c
@@ -406,7 +406,7 @@ bool cLiveStreamer::StreamChannel(const cChannel *channel, int priority, cxSocke
if (m_NumStreams > 0 && m_Socket)
{
DEBUGLOG("Creating new live Receiver");
- m_Receiver = new cLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids);
+ m_Receiver = new cLiveReceiver(this, m_Channel, m_Priority, m_Pids);
m_PatFilter = new cLivePatFilter(this, m_Channel);
m_Device->AttachReceiver(m_Receiver);
m_Device->AttachFilter(m_PatFilter);
diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
index cea1af2..931ea61 100644
--- a/src/xvdr/xvdrclient.c
+++ b/src/xvdr/xvdrclient.c
@@ -1572,7 +1572,7 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
}
else
{
- recordingStart = recording->start;
+ recordingStart = recording->Start();
}
}
DEBUGLOG("GRI: RC: recordingStart=%lu recordingDuration=%i", recordingStart, recordingDuration);
@@ -1584,10 +1584,10 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
m_resp->add_U32(recordingDuration);
// priority
- m_resp->add_U32(recording->priority);
+ m_resp->add_U32(recording->Priority());
// lifetime
- m_resp->add_U32(recording->lifetime);
+ m_resp->add_U32(recording->Lifetime());
// channel_name
m_resp->add_String(recording->Info()->ChannelName() ? m_toUTF8.Convert(recording->Info()->ChannelName()) : "");

View File

@ -37,6 +37,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
cp -PR $BUILD/vdr-live-*/live/* $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/live
cp $BUILD/rotorng-[0-9]*/examples/rotorng.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $PKG_DIR/config.plugins/remote.conf $ADDON_BUILD/$PKG_ADDON_ID/config
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/epgsearch
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-plugin-xvdr-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
@ -51,6 +52,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-live-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/rotorng-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-control-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $BUILD/vdr-epgsearch*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
# ENABLED_PLUGINS="cardclient constcw sc-conax sc-cryptoworks sc-irdeto sc-nagra sc-seca sc-viaccess sc-videoguard2"
# for plugin in $ENABLED_PLUGINS; do

View File

@ -2,6 +2,10 @@
- added live plugin
- added rotorng plugin
- added control plugin
- added epgsearch plugin
- update to vdr-iptv-0.5.2
- update to vdr-plugin-streamdev-8719007
- update to vdr-plugin-xvdr-b62ccbd
2.1.3
- adjust for fontconfig 2.9.0

View File

@ -13,5 +13,6 @@
<setting id="ENABLE_CONTROL" value="false" />
<setting id="CONTROL_PORT" value="2002" />
<setting id="ENABLE_ROTORNG" value="false" />
<setting id="ENABLE_EPGSEARCH" value="false" />
<setting id="SOFTCAM_PLUGIN" value="sc" />
</settings>

View File

@ -27,7 +27,7 @@ PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-iptv vdr-wirbelscan vdr-sc vdr-plugin-dvbapi vdr-dynamite vdr-plugin-streamdev vdr-live rotorng vdr-control"
PKG_BUILD_DEPENDS="toolchain attr libcap vdr vdr-plugin-xvdr vdr-iptv vdr-wirbelscan vdr-sc vdr-plugin-dvbapi vdr-dynamite vdr-plugin-streamdev vdr-live rotorng vdr-control vdr-epgsearch"
PKG_PRIORITY="optional"
PKG_SECTION="service.multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application"

View File

@ -75,6 +75,9 @@ fi
if [ "$ENABLE_CONTROL" == "true" ] ; then
VDR_ARG="$VDR_ARG -P 'control -p $CONTROL_PORT'"
fi
if [ "$ENABLE_EPGSEARCH" == "true" ] ; then
VDR_ARG="$VDR_ARG -P epgsearch"
fi
# dynamite must be LAST loaded plugin
if [ "$ENABLE_DYNAMITE" == "true" ] ; then
VDR_ARG="$VDR_ARG -P dynamite"

View File

@ -16,6 +16,7 @@
<string id="1042">Enable plugin: control</string>
<string id="1043">control: listen on port</string>
<string id="1041">Enable plugin: rotorng</string>
<string id="1044">Enable plugin: epgsearch</string>
<string id="1035">Enable plugin: dynamite</string>
<string id="1036">Enable softcam</string>
<string id="1037">softcam plugin</string>

View File

@ -19,6 +19,7 @@
<setting id="ENABLE_CONTROL" type="bool" label="1042" default="false" />
<setting id="CONTROL_PORT" type="number" label="1043" values="" enable="!eq(-1,false)" default="2002"/>
<setting id="ENABLE_ROTORNG" type="bool" label="1041" default="false" />
<setting id="ENABLE_EPGSEARCH" type="bool" label="1044" default="false" />
<setting id="ENABLE_DYNAMITE" type="bool" label="1035" default="true" />
<setting type="sep" />
<setting id="ENABLE_SOFTCAM" type="bool" label="1036" default="true" />