git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add support for read signal quality, power and biterror rate from python
[enigma2.git]
/
lib
/
service
/
servicedvb.cpp
diff --git
a/lib/service/servicedvb.cpp
b/lib/service/servicedvb.cpp
index 0de132154078d66753a8c759de23c22490ce2686..9e77a7a7a33ecf7310c8152fe78f457e489dd8fd 100644
(file)
--- a/
lib/service/servicedvb.cpp
+++ b/
lib/service/servicedvb.cpp
@@
-25,7
+25,7
@@
DEFINE_REF(eStaticServiceDVBInformation);
RESULT eStaticServiceDVBInformation::getName(const eServiceReference &ref, std::string &name)
{
RESULT eStaticServiceDVBInformation::getName(const eServiceReference &ref, std::string &name)
{
- if (
ref.name.length
() )
+ if (
!ref.name.empty
() )
{
name = ref.name;
return 0;
{
name = ref.name;
return 0;
@@
-358,22
+358,25
@@
RESULT eServiceFactoryDVB::list(const eServiceReference &ref, ePtr<iListableServ
RESULT eServiceFactoryDVB::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
{
RESULT eServiceFactoryDVB::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
{
-
/* do we have a PVR
service? */
- if (
ref.flags &
eServiceReference::flagDirectory) // bouquet
+
/* is a listable
service? */
+ if (
(ref.flags & eServiceReference::flagDirectory) ==
eServiceReference::flagDirectory) // bouquet
{
{
- ptr = new eStaticServiceDVBBouquetInformation;
+ if ( !ref.name.empty() ) // satellites or providers list
+ ptr = new eStaticServiceDVBInformation;
+ else // a dvb bouquet
+ ptr = new eStaticServiceDVBBouquetInformation;
return 0;
}
return 0;
}
- else if (!ref.path.empty())
+ else if (!ref.path.empty())
/* do we have a PVR service? */
{
ptr = new eStaticServiceDVBPVRInformation(ref);
return 0;
}
{
ptr = new eStaticServiceDVBPVRInformation(ref);
return 0;
}
- else
+ else
// normal dvb service
{
ePtr<eDVBService> service;
int r = lookupService(service, ref);
{
ePtr<eDVBService> service;
int r = lookupService(service, ref);
- if (r)
+ if (r)
// no eDVBService avail for this reference ( Linkage Services... )
ptr = new eStaticServiceDVBInformation;
else
/* eDVBService has the iStaticServiceInformation interface, so we pass it here. */
ptr = new eStaticServiceDVBInformation;
else
/* eDVBService has the iStaticServiceInformation interface, so we pass it here. */
@@
-678,6
+681,12
@@
RESULT eDVBServicePlay::getPlayPosition(pts_t &pos)
return pvr_channel->getCurrentPosition(demux, pos);
}
return pvr_channel->getCurrentPosition(demux, pos);
}
+RESULT eDVBServicePlay::frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr)
+{
+ ptr = this;
+ return 0;
+}
+
RESULT eDVBServicePlay::info(ePtr<iServiceInformation> &ptr)
{
ptr = this;
RESULT eDVBServicePlay::info(ePtr<iServiceInformation> &ptr)
{
ptr = this;
@@
-808,6
+817,17
@@
int eDVBServicePlay::selectAudioStream(int i)
return 0;
}
return 0;
}
+int eDVBServicePlay::getFrontendInfo(int w)
+{
+ eUsePtr<iDVBChannel> channel;
+ if(m_service_handler.getChannel(channel))
+ return 0;
+ ePtr<iDVBFrontend> fe;
+ if(channel->getFrontend(fe))
+ return 0;
+ return fe->readFrontendData(w);
+}
+
DEFINE_REF(eDVBServicePlay)
eAutoInitPtr<eServiceFactoryDVB> init_eServiceFactoryDVB(eAutoInitNumbers::service+1, "eServiceFactoryDVB");
DEFINE_REF(eDVBServicePlay)
eAutoInitPtr<eServiceFactoryDVB> init_eServiceFactoryDVB(eAutoInitNumbers::service+1, "eServiceFactoryDVB");