summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2010-01-08 07:03:35 +0100
committerChristian Gmeiner <christian.gmeiner@gmail.com>2010-01-08 07:03:35 +0100
commit34f70aa7013760f3809d107d8572159730c84608 (patch)
tree8ba52f3221ac732162d8f4e38160a2cb614ab172
parent606d611f9e65434eb1b53b9a9e203e58a578bc09 (diff)
downloadvdr-plugin-dxr3-34f70aa7013760f3809d107d8572159730c84608.tar.gz
vdr-plugin-dxr3-34f70aa7013760f3809d107d8572159730c84608.tar.bz2
kick m_dxr3Device member from cDxr3DemuxDevice and use singleton instead
-rw-r--r--dxr3demuxdevice.c63
-rw-r--r--dxr3demuxdevice.h1
2 files changed, 31 insertions, 33 deletions
diff --git a/dxr3demuxdevice.c b/dxr3demuxdevice.c
index a0b7325..7e7093c 100644
--- a/dxr3demuxdevice.c
+++ b/dxr3demuxdevice.c
@@ -25,7 +25,6 @@
// ==================================
//! constructor
cDxr3DemuxDevice::cDxr3DemuxDevice() :
- m_dxr3Device(cDxr3Interface::instance()),
m_aBuf(AUDIO_MAX_BUFFER_SIZE, AUIDO_MAX_FRAME_SIZE),
m_vBuf(VIDEO_MAX_BUFFER_SIZE, VIDEO_MAX_FRAME_SIZE)
{
@@ -63,7 +62,7 @@ cDxr3DemuxDevice::~cDxr3DemuxDevice()
// stop demuxing process
void cDxr3DemuxDevice::Stop()
{
- m_dxr3Device->DisableVideo();
+ cDxr3Interface::instance()->DisableVideo();
m_pAudioThread->audio()->setEnabled(false);
m_vBuf.Clear();
m_aBuf.Clear();
@@ -74,13 +73,13 @@ void cDxr3DemuxDevice::Stop()
m_synchState = DXR3_DEMUX_UNSYNCHED;
m_demuxMode = DXR3_DEMUX_OFF_MODE;
- m_dxr3Device->PlayBlackFrame();
+ cDxr3Interface::instance()->PlayBlackFrame();
}
// ==================================
void cDxr3DemuxDevice::Resync()
{
- m_dxr3Device->DisableVideo();
+ cDxr3Interface::instance()->DisableVideo();
m_pAudioThread->audio()->setEnabled(false);
m_vBuf.Clear();
m_aBuf.Clear();
@@ -95,7 +94,7 @@ void cDxr3DemuxDevice::Resync()
// ==================================
void cDxr3DemuxDevice::Clear()
{
- m_dxr3Device->DisableVideo();
+ cDxr3Interface::instance()->DisableVideo();
m_pAudioThread->audio()->setEnabled(false);
m_vBuf.Clear();
m_aBuf.Clear();
@@ -115,9 +114,9 @@ void cDxr3DemuxDevice::SetReplayMode()
if (m_demuxMode == DXR3_DEMUX_TRICK_MODE &&
m_trickState == DXR3_FREEZE)
{
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->SetSysClock(m_stopScr);
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->SetSysClock(m_stopScr);
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
@@ -144,8 +143,8 @@ void cDxr3DemuxDevice::SetTrickMode(eDxr3TrickState trickState, int Speed)
if (m_demuxMode == DXR3_DEMUX_TRICK_MODE &&
m_trickState == DXR3_FREEZE)
{
- m_stopScr = m_dxr3Device->GetSysClock();
- // m_dxr3Device->Pause();
+ m_stopScr = cDxr3Interface::instance()->GetSysClock();
+ // cDxr3Interface::instance()->Pause();
m_vBuf.Stop();
m_aBuf.Stop();
}
@@ -178,7 +177,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
int scr = 0;
int pcr = 0;
- scr = m_dxr3Device->GetSysClock();
+ scr = cDxr3Interface::instance()->GetSysClock();
if (m_pAudioThread->NeedResync() || m_pVideoThread->NeedResync())
{
@@ -229,9 +228,9 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
if (pts && m_synchState != DXR3_DEMUX_SYNCHED) {
m_synchState = DXR3_DEMUX_SYNCHED;
pcr = aPts - PRE_BUFFER_LENGTH;
- m_dxr3Device->SetSysClock(pcr);
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetSysClock(pcr);
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
@@ -274,9 +273,9 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
} else {
pcr = vPts - PRE_BUFFER_LENGTH;
}
- m_dxr3Device->SetSysClock(pcr);
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetSysClock(pcr);
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
@@ -292,21 +291,21 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
bPlaySuc = true;
//if (bPlayedFrame) return length;
bPlayedFrame = true;
- m_dxr3Device->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
- m_dxr3Device->PlayVideoFrame(pesFrame);
+ cDxr3Interface::instance()->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
+ cDxr3Interface::instance()->PlayVideoFrame(pesFrame);
break;
case UNKNOWN_FRAME:
dsyslog("dxr3: demux: unknown frame");
if (bPlaySuc) {
- m_dxr3Device->PlayVideoFrame(pesFrame);
+ cDxr3Interface::instance()->PlayVideoFrame(pesFrame);
}
break;
default:
dsyslog("dxr3: demux: default frame");
if (bPlaySuc) {
- m_dxr3Device->PlayVideoFrame(pesFrame);
+ cDxr3Interface::instance()->PlayVideoFrame(pesFrame);
}
bPlaySuc = false;
@@ -314,7 +313,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
}
} else if (m_synchState == DXR3_DEMUX_VIDEO_SYNCHED || m_synchState == DXR3_DEMUX_SYNCHED) {
- m_dxr3Device->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
+ cDxr3Interface::instance()->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
while (!Poll(100)) {}
cFixedLengthFrame* pTempFrame = m_vBuf.Push(pesFrame->GetPayload(), (int) (pesFrame->GetPayloadLength()), pts, ftVideo);
@@ -329,9 +328,9 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
if (m_vBuf.GetFillLevel() > 5 && m_synchState != DXR3_DEMUX_SYNCHED) {
m_synchState = DXR3_DEMUX_SYNCHED;
pcr = vPts - PRE_BUFFER_LENGTH;
- m_dxr3Device->SetSysClock(pcr);
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetSysClock(pcr);
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
@@ -340,7 +339,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
if (pesFrame->GetFrameType() == I_FRAME) {
vPts = pts;
- m_dxr3Device->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
+ cDxr3Interface::instance()->setDimension(pesFrame->GetHorizontalSize(), pesFrame->GetVerticalSize());
cFixedLengthFrame* pTempFrame = m_vBuf.Push(pesFrame->GetPayload(), (int) (pesFrame->GetPayloadLength()), pts, ftVideo);
// TODO: rework me
//if (!pTempFrame) /* Push Timeout */
@@ -362,9 +361,9 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
} else {
pcr = vPts - PRE_BUFFER_LENGTH;
}
- m_dxr3Device->SetSysClock(pcr);
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetSysClock(pcr);
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
@@ -374,7 +373,7 @@ int cDxr3DemuxDevice::DemuxPes(const uint8_t* buf, int length, bool bAc3Dts)
}
} else if (m_demuxMode == DXR3_DEMUX_VIDEO_ONLY_MODE) {
- m_dxr3Device->PlayVideoFrame(pesFrame);
+ cDxr3Interface::instance()->PlayVideoFrame(pesFrame);
}
delete pesFrame;
@@ -400,8 +399,8 @@ int cDxr3DemuxDevice::DemuxAudioPes(const uint8_t* buf, int length)
if (m_synchState != DXR3_DEMUX_AUDIO_SYNCHED &&
syncCounter > 2) {
m_synchState = DXR3_DEMUX_AUDIO_SYNCHED;
- m_dxr3Device->SetPlayMode();
- m_dxr3Device->EnableVideo();
+ cDxr3Interface::instance()->SetPlayMode();
+ cDxr3Interface::instance()->EnableVideo();
m_pAudioThread->audio()->setEnabled(true);
m_vBuf.Start();
m_aBuf.Start();
diff --git a/dxr3demuxdevice.h b/dxr3demuxdevice.h
index aa81c3e..0c886ea 100644
--- a/dxr3demuxdevice.h
+++ b/dxr3demuxdevice.h
@@ -60,7 +60,6 @@ public:
};
private:
- cDxr3Interface *m_dxr3Device;
cDxr3SyncBuffer m_aBuf;
cDxr3SyncBuffer m_vBuf;
eDxr3DemuxSynchState m_synchState;