RESULT eServiceFactoryDVB::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
{
/* do we have a PVR service? */
- if (ref.flags & eServiceReference::flagDirectory) // bouquet
+ if ((ref.flags & eServiceReference::flagDirectory) == eServiceReference::flagDirectory) // bouquet
{
- ptr = new eStaticServiceDVBBouquetInformation;
+ if ( !ref.name.empty() )
+ ptr = new eStaticServiceDVBInformation;
+ else
+ ptr = new eStaticServiceDVBBouquetInformation;
return 0;
}
else if (!ref.path.empty())
switch (w)
{
case sVideoPID: if (program.videoStreams.empty()) return -1; return program.videoStreams[0].pid;
- case sAudioPID: if (program.audioStreams.empty()) return -1; return program.videoStreams[m_current_audio_stream].pid;
+ case sAudioPID: if (program.audioStreams.empty()) return -1; return program.audioStreams[m_current_audio_stream].pid;
case sPCRPID: return program.pcrPid;
case sPMTPID: return program.pmtPid;
case sTXTPID: return -1;