ElementaryStreamInfoConstIterator es;
for (es = pmt.getEsInfo()->begin(); es != pmt.getEsInfo()->end(); ++es)
{
- int isaudio = 0, isvideo = 0, issubtitle = 0, forced_video = 0, forced_audio = 0;
+ int isaudio = 0, isvideo = 0, issubtitle = 0, forced_video = 0, forced_audio = 0, isteletext = 0;
videoStream video;
audioStream audio;
audio.component_tag=video.component_tag=-1;
s.subtitling_type = 0x01; // EBU TELETEXT SUBTITLES
s.pid = program.textPid = (*es)->getPid();
TeletextDescriptor *d = (TeletextDescriptor*)(*desc);
+ isteletext = 1;
const VbiTeletextList *list = d->getVbiTeletexts();
for (VbiTeletextConstIterator it(list->begin()); it != list->end(); ++it)
{
default:
break;
}
- if (issubtitle && (isaudio || isvideo))
+ if (isteletext && (isaudio || isvideo))
+ {
+ eDebug("ambiguous streamtype for PID %04x detected.. forced as teletext!", (*es)->getPid());
+ continue; // continue with next PID
+ }
+ else if (issubtitle && (isaudio || isvideo))
eDebug("ambiguous streamtype for PID %04x detected.. forced as subtitle!", (*es)->getPid());
else if (isaudio && isvideo)
eDebug("ambiguous streamtype for PID %04x detected.. forced as video!", (*es)->getPid());
- if (issubtitle)
+ if (issubtitle) // continue with next PID
continue;
else if (isvideo)
{