mirror of
https://github.com/rofafor/vdr-plugin-iptv.git
synced 2023-10-10 13:37:03 +02:00
Added support for cDevice::GetCurrentlyTunedTransponder().
This commit is contained in:
parent
6f648401a4
commit
767b1bdac7
3
HISTORY
3
HISTORY
@ -217,5 +217,6 @@ VDR Plugin 'iptv' Revision History
|
|||||||
|
|
||||||
- Added missing CURL timeouts.
|
- Added missing CURL timeouts.
|
||||||
- Improved section id scanner.
|
- Improved section id scanner.
|
||||||
- Added support for cDevice::IsTunedToTransponder().
|
- Added support for cDevice::IsTunedToTransponder() and
|
||||||
|
cDevice::GetCurrentlyTunedTransponder().
|
||||||
- Fixed a memory leak and some issues reported by scan-build.
|
- Fixed a memory leak and some issues reported by scan-build.
|
||||||
|
17
device.c
17
device.c
@ -20,7 +20,7 @@ cIptvDevice::cIptvDevice(unsigned int indexP)
|
|||||||
isOpenDvrM(false),
|
isOpenDvrM(false),
|
||||||
sidScanEnabledM(false),
|
sidScanEnabledM(false),
|
||||||
pidScanEnabledM(false),
|
pidScanEnabledM(false),
|
||||||
channelIdM(tChannelID::InvalidID)
|
channelM()
|
||||||
{
|
{
|
||||||
unsigned int bufsize = (unsigned int)MEGABYTE(IptvConfig.GetTsBufferSize());
|
unsigned int bufsize = (unsigned int)MEGABYTE(IptvConfig.GetTsBufferSize());
|
||||||
bufsize -= (bufsize % TS_SIZE);
|
bufsize -= (bufsize % TS_SIZE);
|
||||||
@ -214,7 +214,7 @@ bool cIptvDevice::ProvidesChannel(const cChannel *channelP, int priorityP, bool
|
|||||||
if (channelP && ProvidesTransponder(channelP)) {
|
if (channelP && ProvidesTransponder(channelP)) {
|
||||||
result = hasPriority;
|
result = hasPriority;
|
||||||
if (Receiving()) {
|
if (Receiving()) {
|
||||||
if (channelP->GetChannelID() == channelIdM)
|
if (channelP->GetChannelID() == channelM.GetChannelID())
|
||||||
result = true;
|
result = true;
|
||||||
else
|
else
|
||||||
needsDetachReceivers = Receiving();
|
needsDetachReceivers = Receiving();
|
||||||
@ -235,9 +235,14 @@ int cIptvDevice::NumProvidedSystems(void) const
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const cChannel *cIptvDevice::GetCurrentlyTunedTransponder(void) const
|
||||||
|
{
|
||||||
|
return &channelM;
|
||||||
|
}
|
||||||
|
|
||||||
bool cIptvDevice::IsTunedToTransponder(const cChannel *channelP) const
|
bool cIptvDevice::IsTunedToTransponder(const cChannel *channelP) const
|
||||||
{
|
{
|
||||||
return channelP ? (channelP->GetChannelID() == channelIdM) : false;
|
return channelP ? (channelP->GetChannelID() == channelM.GetChannelID()) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cIptvDevice::SetChannelDevice(const cChannel *channelP, bool liveViewP)
|
bool cIptvDevice::SetChannelDevice(const cChannel *channelP, bool liveViewP)
|
||||||
@ -275,11 +280,11 @@ bool cIptvDevice::SetChannelDevice(const cChannel *channelP, bool liveViewP)
|
|||||||
sidScanEnabledM = itp.SidScan() ? true : false;
|
sidScanEnabledM = itp.SidScan() ? true : false;
|
||||||
pidScanEnabledM = itp.PidScan() ? true : false;
|
pidScanEnabledM = itp.PidScan() ? true : false;
|
||||||
if (pIptvStreamerM->Set(itp.Address(), itp.Parameter(), deviceIndexM, protocol)) {
|
if (pIptvStreamerM->Set(itp.Address(), itp.Parameter(), deviceIndexM, protocol)) {
|
||||||
channelIdM = channelP->GetChannelID();
|
channelM = *channelP;
|
||||||
if (sidScanEnabledM && pSidScannerM && IptvConfig.GetSectionFiltering())
|
if (sidScanEnabledM && pSidScannerM && IptvConfig.GetSectionFiltering())
|
||||||
pSidScannerM->SetChannel(channelIdM);
|
pSidScannerM->SetChannel(channelM.GetChannelID());
|
||||||
if (pidScanEnabledM && pPidScannerM)
|
if (pidScanEnabledM && pPidScannerM)
|
||||||
pPidScannerM->SetChannel(channelIdM);
|
pPidScannerM->SetChannel(channelM.GetChannelID());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
3
device.h
3
device.h
@ -40,7 +40,7 @@ private:
|
|||||||
bool pidScanEnabledM;
|
bool pidScanEnabledM;
|
||||||
cRingBufferLinear *tsBufferM;
|
cRingBufferLinear *tsBufferM;
|
||||||
mutable int tsBufferPrefillM;
|
mutable int tsBufferPrefillM;
|
||||||
tChannelID channelIdM;
|
cChannel channelM;
|
||||||
cIptvProtocolUdp *pUdpProtocolM;
|
cIptvProtocolUdp *pUdpProtocolM;
|
||||||
cIptvProtocolCurl *pCurlProtocolM;
|
cIptvProtocolCurl *pCurlProtocolM;
|
||||||
cIptvProtocolHttp *pHttpProtocolM;
|
cIptvProtocolHttp *pHttpProtocolM;
|
||||||
@ -87,6 +87,7 @@ public:
|
|||||||
virtual bool ProvidesChannel(const cChannel *channelP, int priorityP = -1, bool *needsDetachReceiversP = NULL) const;
|
virtual bool ProvidesChannel(const cChannel *channelP, int priorityP = -1, bool *needsDetachReceiversP = NULL) const;
|
||||||
virtual bool ProvidesEIT(void) const;
|
virtual bool ProvidesEIT(void) const;
|
||||||
virtual int NumProvidedSystems(void) const;
|
virtual int NumProvidedSystems(void) const;
|
||||||
|
virtual const cChannel *GetCurrentlyTunedTransponder(void) const;
|
||||||
virtual bool IsTunedToTransponder(const cChannel *channelP) const;
|
virtual bool IsTunedToTransponder(const cChannel *channelP) const;
|
||||||
protected:
|
protected:
|
||||||
virtual bool SetChannelDevice(const cChannel *channelP, bool liveViewP);
|
virtual bool SetChannelDevice(const cChannel *channelP, bool liveViewP);
|
||||||
|
Loading…
Reference in New Issue
Block a user