summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--dxr3spudecoder.c9
-rw-r--r--dxr3spudecoder.h1
3 files changed, 9 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index f6edde0..08dc461 100644
--- a/HISTORY
+++ b/HISTORY
@@ -258,7 +258,8 @@ NOTE: I havent found time to include all of the languages, will be done in pre2
(Christian Gmeiner)
- logger is now thread safe (Christian Gmeiner)
- rewrote cDxr3SpuDecoder: dropped software decoder, added hardware decoder,
- so we make use of DVD-functions of the dxr3 (Christian Gmeiner)
+ so we make use of DVD-functions of the dxr3
+ (Christian Gmeiner, Marco Schlüßler)
- checked Lock() and Unlock() in dxr3interface.c - hope everything is ok
else contact me (Christian Gmeiner)
- use std:: instead of namespace std
diff --git a/dxr3spudecoder.c b/dxr3spudecoder.c
index e95cd49..7bfaa04 100644
--- a/dxr3spudecoder.c
+++ b/dxr3spudecoder.c
@@ -25,6 +25,7 @@
// ! constructor
cDxr3SpuDecoder::cDxr3SpuDecoder() : m_Interface(cDxr3Interface::Instance()), m_visible(false)
{
+ m_ScaleMode = eSpuNormal;
}
// ==================================
@@ -39,20 +40,21 @@ void cDxr3SpuDecoder::processSPU(uint32_t pts, uint8_t * buf)
// size = (buf[0] << 8) + buf[1]
m_Interface.WriteSpu(buf, (buf[0] << 8) + buf[1]);
+ m_Interface.SetSpuPts(pts);
}
// ==================================
-// ! get scalemode - needed only to compile with VDR >= 1.3.22
+// ! get scalemode
cSpuDecoder::eScaleMode cDxr3SpuDecoder::getScaleMode(void)
{
- return eSpuNormal; // XXX: what... but this is unused in VDR <= 1.3.23
+ return m_ScaleMode;
}
// ==================================
// ! set scalemode - not needed
void cDxr3SpuDecoder::setScaleMode(cSpuDecoder::eScaleMode ScaleMode)
{
- // not needed
+ m_ScaleMode = ScaleMode;
}
// ==================================
@@ -101,6 +103,7 @@ void cDxr3SpuDecoder::Empty(void)
// ! set pts
int cDxr3SpuDecoder::setTime(uint32_t pts)
{
+ m_Interface.SetSpuPts(pts);
return (pts == 0) ? 0 : 1;
}
diff --git a/dxr3spudecoder.h b/dxr3spudecoder.h
index 7ac0787..311f600 100644
--- a/dxr3spudecoder.h
+++ b/dxr3spudecoder.h
@@ -59,6 +59,7 @@ public:
private:
cDxr3Interface& m_Interface; ///< interface to dxr3 driver
bool m_visible; ///< is anything visible (nav, osd, subtitles)
+ eScaleMode m_ScaleMode;
};
#endif /*_DXR3SPUDECODER_H_*/