diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-01-08 10:01:52 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-01-08 10:01:52 +0100 |
commit | 64623e762b0d0ed28f6079ba814511274f5fb428 (patch) | |
tree | b5a8546f63e4c8ab6a33cd51bed049e5fac8dc66 /dvbspu.c | |
parent | 45e5859ae4cb9f7fd29a2acdd23ecfc5348d55fd (diff) | |
download | vdr-64623e762b0d0ed28f6079ba814511274f5fb428.tar.gz vdr-64623e762b0d0ed28f6079ba814511274f5fb428.tar.bz2 |
Implemented displaying mandatory subtitles in the SPU decoder
Diffstat (limited to 'dvbspu.c')
-rw-r--r-- | dvbspu.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -8,7 +8,7 @@ * * parts of this file are derived from the OMS program. * - * $Id: dvbspu.c 1.10 2005/01/08 09:53:44 kls Exp $ + * $Id: dvbspu.c 1.11 2005/01/08 09:57:03 kls Exp $ */ #include <assert.h> @@ -227,6 +227,7 @@ cDvbSpuDecoder::cDvbSpuDecoder() spu = NULL; osd = NULL; spubmp = NULL; + allowedShow = false; } cDvbSpuDecoder::~cDvbSpuDecoder() @@ -236,7 +237,7 @@ cDvbSpuDecoder::~cDvbSpuDecoder() delete osd; } -void cDvbSpuDecoder::processSPU(uint32_t pts, uint8_t * buf) +void cDvbSpuDecoder::processSPU(uint32_t pts, uint8_t * buf, bool AllowedShow) { setTime(pts); @@ -252,6 +253,7 @@ void cDvbSpuDecoder::processSPU(uint32_t pts, uint8_t * buf) prev_DCSQ_offset = 0; clean = true; + allowedShow = AllowedShow; } void cDvbSpuDecoder::setScaleMode(cSpuDecoder::eScaleMode ScaleMode) @@ -530,7 +532,7 @@ int cDvbSpuDecoder::setTime(uint32_t pts) } else if (!clean) state = spSHOW; - if (state == spSHOW || state == spMENU) + if ((state == spSHOW && allowedShow) || state == spMENU) Draw(); if (state == spHIDE) |