vdr-plugin-xvdr: add -receiver-and-recording-fixes.patch

This commit is contained in:
Stefan Saraev 2012-03-29 20:43:25 +03:00
parent 996350c56b
commit 94f178a2f1

View File

@ -0,0 +1,84 @@
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()) : "");