diff options
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/subtitle.cpp | 19 | ||||
| -rw-r--r-- | lib/dvb/subtitle.h | 1 | ||||
| -rw-r--r-- | lib/dvb/teletext.cpp | 4 |
3 files changed, 19 insertions, 5 deletions
diff --git a/lib/dvb/subtitle.cpp b/lib/dvb/subtitle.cpp index 23ea6dce..0058a51c 100644 --- a/lib/dvb/subtitle.cpp +++ b/lib/dvb/subtitle.cpp @@ -1113,15 +1113,24 @@ eDVBSubtitleParser::~eDVBSubtitleParser() subtitle_reset(); } +int eDVBSubtitleParser::stop() +{ + if (m_pes_reader) + { + eDebug("disable dvb subtitles"); + return m_pes_reader->stop(); + } + return -1; +} + int eDVBSubtitleParser::start(int pid) { -#if 1 - eDebug("eDVBSubtitleParser::start(%04x)", pid); if (m_pes_reader) + { + eDebug("start dvb subtitles on pid 0x%04x", pid); return m_pes_reader->start(pid); - else - return -1; -#endif + } + return -1; } void eDVBSubtitleParser::connectNewPage(const Slot1<void, const eDVBSubtitlePage&> &slot, ePtr<eConnection> &connection) diff --git a/lib/dvb/subtitle.h b/lib/dvb/subtitle.h index 330147ad..44cdd4cb 100644 --- a/lib/dvb/subtitle.h +++ b/lib/dvb/subtitle.h @@ -117,6 +117,7 @@ public: eDVBSubtitleParser(iDVBDemux *demux); virtual ~eDVBSubtitleParser(); int start(int pid); + int stop(); void connectNewPage(const Slot1<void, const eDVBSubtitlePage&> &slot, ePtr<eConnection> &connection); private: void subtitle_process_line(subtitle_page *page, int object_id, int line, __u8 *data, int len); diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index 0515913a..c96fbed9 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -275,6 +275,10 @@ void eDVBTeletextParser::handlePageEnd(int have_pts, const pts_t &pts) void eDVBTeletextParser::setPage(int page) { + if (page > 0) + eDebug("enable teletext subtitle page %d", page); + else + eDebug("disable teletext subtitles"); m_page_number = page; m_page_M = (page >> 8) & 7; /* magazine to look for */ m_page_X = page & 0xFF; /* page number */ |
