From 94f178a2f1dc355618a2736abab50f52ab02efdd Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Thu, 29 Mar 2012 20:43:25 +0300 Subject: [PATCH] vdr-plugin-xvdr: add -receiver-and-recording-fixes.patch --- ...c98852f_receiver-and-recording-fixes.patch | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 packages/3rdparty/multimedia/vdr-plugin-xvdr/patches/vdr-plugin-xvdr-c98852f_receiver-and-recording-fixes.patch diff --git a/packages/3rdparty/multimedia/vdr-plugin-xvdr/patches/vdr-plugin-xvdr-c98852f_receiver-and-recording-fixes.patch b/packages/3rdparty/multimedia/vdr-plugin-xvdr/patches/vdr-plugin-xvdr-c98852f_receiver-and-recording-fixes.patch new file mode 100644 index 0000000000..059881585f --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-plugin-xvdr/patches/vdr-plugin-xvdr-c98852f_receiver-and-recording-fixes.patch @@ -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()) : "");