diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-06-11 23:56:40 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-06-11 23:56:40 +0200 |
| commit | d6f965e34c0e482e5579689ee3150788dad3067f (patch) | |
| tree | a7cdeead6d5945e99719a28e9e137c3d81d7b0e2 /lib/service/servicedvb.cpp | |
| parent | 2f97ea180b96913b356c28e3cf50fbbc318c52b3 (diff) | |
| download | enigma2-d6f965e34c0e482e5579689ee3150788dad3067f.tar.gz enigma2-d6f965e34c0e482e5579689ee3150788dad3067f.zip | |
servicedvb.cpp: skip subtitles when pts difference is bigger than 20seconds
Diffstat (limited to 'lib/service/servicedvb.cpp')
| -rw-r--r-- | lib/service/servicedvb.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 52978dc3..a57a813b 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -2824,17 +2824,21 @@ void eDVBServicePlay::checkSubtitleTiming() m_decoder->getPTS(0, pos); eDebug("%lld %lld", pos, show_time); - int diff = show_time - pos; + int diff = show_time - pos; if (diff < 0) { eDebug("[late (%d ms)]", -diff / 90); diff = 0; } -// if (diff > 900000) -// { -// eDebug("[invalid]"); -// diff = 0; -// } + if (abs(diff) > 1800000) + { + eDebug("skip [invalid]"); + if (type == TELETEXT) + m_subtitle_pages.pop_front(); + else + m_dvb_subtitle_pages.pop_front(); + continue; + } if ((diff/90)<20) { |
