mirror of
https://github.com/DigitalDevices/pvr.octonet.git
synced 2025-03-01 10:53:09 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2067aba378 | ||
|
|
b52f50ef30 | ||
|
|
d1f9af2225 | ||
|
|
880d313bef | ||
|
|
94eb166783 | ||
|
|
ba7e50e79c | ||
|
|
5fc6fc2ebc |
@@ -1,6 +1,11 @@
|
|||||||
# Octonet PVR
|
# Octonet PVR
|
||||||
Digital Devices [Octonet] (http://www.digital-devices.eu/shop/de/netzwerk-tv/) PVR client addon for [Kodi] (http://kodi.tv)
|
Digital Devices [Octonet] (http://www.digital-devices.eu/shop/de/netzwerk-tv/) PVR client addon for [Kodi] (http://kodi.tv)
|
||||||
|
|
||||||
|
| Platform | Status |
|
||||||
|
|----------|--------|
|
||||||
|
| Linux + OS X (Travis) | [](https://travis-ci.org/julianscheel/pvr.octonet) |
|
||||||
|
| Windows (AppVeyor) | [](https://ci.appveyor.com/project/julianscheel/pvr-octonet) |
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|||||||
1
debian/control
vendored
1
debian/control
vendored
@@ -20,4 +20,3 @@ Architecture: any
|
|||||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||||
Description: debug symbols for Digital Devices Octopus NET PVR for Kodi
|
Description: debug symbols for Digital Devices Octopus NET PVR for Kodi
|
||||||
debug symbols for Digital Devices Octopus NET PVR for Kodi
|
debug symbols for Digital Devices Octopus NET PVR for Kodi
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<addon
|
<addon
|
||||||
id="pvr.octonet"
|
id="pvr.octonet"
|
||||||
version="0.3.2"
|
version="0.3.2"
|
||||||
name="PVR DigitalDevices Octopus NET Client"
|
name="Digital Devices Octopus NET Client"
|
||||||
provider-name="digitaldevices">
|
provider-name="digitaldevices">
|
||||||
<requires>
|
<requires>
|
||||||
<c-pluff version="0.1" />
|
<c-pluff version="0.1" />
|
||||||
|
|||||||
@@ -125,7 +125,6 @@ OctonetChannel* OctonetData::findChannel(int64_t nativeId)
|
|||||||
time_t OctonetData::parseDateTime(std::string date)
|
time_t OctonetData::parseDateTime(std::string date)
|
||||||
{
|
{
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
time_t time;
|
|
||||||
|
|
||||||
memset(&timeinfo, 0, sizeof(timeinfo));
|
memset(&timeinfo, 0, sizeof(timeinfo));
|
||||||
|
|
||||||
@@ -237,20 +236,23 @@ PVR_ERROR OctonetData::getChannels(ADDON_HANDLE handle, bool bRadio)
|
|||||||
|
|
||||||
PVR_ERROR OctonetData::getEPG(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t start, time_t end)
|
PVR_ERROR OctonetData::getEPG(ADDON_HANDLE handle, const PVR_CHANNEL &channel, time_t start, time_t end)
|
||||||
{
|
{
|
||||||
bool needs_reload = false;
|
|
||||||
for (unsigned int i = 0; i < channels.size(); i++)
|
for (unsigned int i = 0; i < channels.size(); i++)
|
||||||
{
|
{
|
||||||
OctonetChannel &chan = channels.at(i);
|
OctonetChannel &chan = channels.at(i);
|
||||||
if (channel.iUniqueId != chan.id)
|
if (channel.iUniqueId != chan.id)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if(chan.epg.empty()) {
|
||||||
|
loadEPG();
|
||||||
|
}
|
||||||
|
|
||||||
// FIXME: Check if reload is needed!?
|
// FIXME: Check if reload is needed!?
|
||||||
|
|
||||||
std::vector<OctonetEpgEntry>::iterator it;
|
std::vector<OctonetEpgEntry>::iterator it;
|
||||||
time_t last_end = 0;
|
time_t last_end = 0;
|
||||||
for (it = chan.epg.begin(); it < chan.epg.end(); ++it) {
|
for (it = chan.epg.begin(); it != chan.epg.end(); ++it) {
|
||||||
if (end > last_end)
|
if (it->end > last_end)
|
||||||
last_end = end;
|
last_end = it->end;
|
||||||
|
|
||||||
if (it->end < start || it->start > end) {
|
if (it->end < start || it->start > end) {
|
||||||
continue;
|
continue;
|
||||||
@@ -271,6 +273,24 @@ PVR_ERROR OctonetData::getEPG(ADDON_HANDLE handle, const PVR_CHANNEL &channel, t
|
|||||||
|
|
||||||
if (last_end < end)
|
if (last_end < end)
|
||||||
loadEPG();
|
loadEPG();
|
||||||
|
|
||||||
|
for (it = chan.epg.begin(); it != chan.epg.end(); ++it) {
|
||||||
|
if (it->end < start || it->start > end) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
EPG_TAG entry;
|
||||||
|
memset(&entry, 0, sizeof(EPG_TAG));
|
||||||
|
|
||||||
|
entry.iChannelNumber = i;
|
||||||
|
entry.iUniqueBroadcastId = it->id;
|
||||||
|
entry.strTitle = it->title.c_str();
|
||||||
|
entry.strPlotOutline = it->subtitle.c_str();
|
||||||
|
entry.startTime = it->start;
|
||||||
|
entry.endTime = it->end;
|
||||||
|
|
||||||
|
pvr->TransferEpgEntry(handle, &entry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return PVR_ERROR_NO_ERROR;
|
return PVR_ERROR_NO_ERROR;
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ bool SwitchChannel(const PVR_CHANNEL& channel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS& signalStatus) {
|
PVR_ERROR SignalStatus(PVR_SIGNAL_STATUS& signalStatus) {
|
||||||
|
memset(&signalStatus, 0, sizeof(PVR_SIGNAL_STATUS));
|
||||||
rtsp_fill_signal_status(signalStatus);
|
rtsp_fill_signal_status(signalStatus);
|
||||||
return PVR_ERROR_NO_ERROR;
|
return PVR_ERROR_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user