From 9f3bb093c7db326d050cce3745d376c8d1eb5810 Mon Sep 17 00:00:00 2001 From: etobi Date: Fri, 12 Feb 2010 21:55:04 +0100 Subject: Record teletext subtitles --- channels.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'channels.c') diff --git a/channels.c b/channels.c index c689850..907688e 100644 --- a/channels.c +++ b/channels.c @@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos } } +void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages) +{ + int mod = CHANNELMOD_NONE; + if (totalTtxtSubtitlePages != numberOfPages) + mod |= CHANNELMOD_PIDS; + totalTtxtSubtitlePages = 0; + for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) { + if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine || + teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage || + teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType || + strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) { + mod |= CHANNELMOD_PIDS; + teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i]; + } + totalTtxtSubtitlePages++; + } + modification |= mod; + Channels.SetModified(); +} + void cChannel::SetCaIds(const int *CaIds) { if (caids[0] && caids[0] <= CA_USER_MAX) -- cgit v1.2.3