summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dxr3demuxdevice.c84
-rw-r--r--dxr3demuxdevice.h33
-rw-r--r--dxr3interface.h5
3 files changed, 17 insertions, 105 deletions
diff --git a/dxr3demuxdevice.c b/dxr3demuxdevice.c
index b145827..fc6e645 100644
--- a/dxr3demuxdevice.c
+++ b/dxr3demuxdevice.c
@@ -38,17 +38,15 @@ cDxr3DemuxDevice::cDxr3DemuxDevice(cDxr3Interface& dxr3Device) :
m_synchState = DXR3_DEMUX_UNSYNCHED;
m_demuxMode = DXR3_DEMUX_OFF_MODE;
m_pAudioThread = new cDxr3AudioOutThread(dxr3Device, m_aBuf);
- if (!m_pAudioThread)
- {
- esyslog("dxr3: fatal: unable to allocate memory for audio thread");
- exit(1);
+ if (!m_pAudioThread) {
+ esyslog("dxr3: fatal: unable to allocate memory for audio thread");
+ exit(1);
}
m_pVideoThread = new cDxr3VideoOutThread(dxr3Device, m_vBuf);
- if (!m_pVideoThread)
- {
- esyslog("dxr3: fatal: unable to allocate memory for video thread");
- exit(1);
+ if (!m_pVideoThread) {
+ esyslog("dxr3: fatal: unable to allocate memory for video thread");
+ exit(1);
}
m_pVideoThread->Start();
m_aDecoder.Init();
@@ -62,28 +60,11 @@ void cDxr3DemuxDevice::setAudio(iAudio *a)
}
// ==================================
-cDxr3DemuxDevice::cDxr3DemuxDevice() : // dummy constructor
- m_dxr3Device(cDxr3Interface::Instance()),
- m_aBuf(AUDIO_MAX_BUFFER_SIZE, AUIDO_MAX_FRAME_SIZE, m_dxr3Device),
- m_vBuf(VIDEO_MAX_BUFFER_SIZE, VIDEO_MAX_FRAME_SIZE, m_dxr3Device)
-{
- m_synchState = DXR3_DEMUX_UNSYNCHED;
- m_demuxMode = DXR3_DEMUX_OFF_MODE;
-}
-
-// ==================================
// deconstr.
cDxr3DemuxDevice::~cDxr3DemuxDevice()
{
- if (m_pVideoThread)
- {
delete m_pVideoThread;
- }
-
- if (m_pAudioThread)
- {
delete m_pAudioThread;
- }
}
// ==================================
@@ -139,38 +120,6 @@ void cDxr3DemuxDevice::Clear()
}
// ==================================
-void cDxr3DemuxDevice::Init()
-{
- m_vBuf.Clear();
- m_aBuf.Clear();
- m_synchState = DXR3_DEMUX_UNSYNCHED;
- m_demuxMode = DXR3_DEMUX_OFF_MODE;
- m_aDecoder.Init();
-}
-
-// ==================================
-void cDxr3DemuxDevice::SetTvMode()
-{
- m_synchState = DXR3_DEMUX_UNSYNCHED;
- m_demuxMode = DXR3_DEMUX_TV_MODE;
- m_aBuf.SetDemuxMode(DXR3_DEMUX_TV_MODE);
- m_vBuf.SetDemuxMode(DXR3_DEMUX_TV_MODE);
- m_aBuf.Start();
- m_vBuf.Start();
-}
-
-// ==================================
-void cDxr3DemuxDevice::SetAudioOnlyMode()
-{
- m_synchState = DXR3_DEMUX_UNSYNCHED;
- m_demuxMode = DXR3_DEMUX_AUDIO_ONLY_MODE;
- m_aBuf.SetDemuxMode(DXR3_DEMUX_REPLAY_MODE);
- m_vBuf.SetDemuxMode(DXR3_DEMUX_REPLAY_MODE);
- m_aBuf.Start();
- m_vBuf.Start();
-}
-
-// ==================================
void cDxr3DemuxDevice::SetReplayMode()
{
if (m_demuxMode != DXR3_DEMUX_REPLAY_MODE)
@@ -222,27 +171,6 @@ void cDxr3DemuxDevice::SetTrickMode(eDxr3TrickState trickState, int Speed)
}
// ==================================
-void cDxr3DemuxDevice::SetVideoOnlyMode()
-{
- m_demuxMode = DXR3_DEMUX_VIDEO_ONLY_MODE;
- m_dxr3Device.DisableAudio();
-
- if (m_demuxMode == DXR3_DEMUX_TRICK_MODE && m_trickState == DXR3_FREEZE)
- {
- m_stopScr = m_dxr3Device.GetSysClock();
- // m_dxr3Device.Pause();
- m_vBuf.Stop();
- m_aBuf.Stop();
- }
- else
- {
- m_vBuf.Clear();
- m_aBuf.Clear();
- }
- m_dxr3Device.SetPlayMode();
-}
-
-// ==================================
void cDxr3DemuxDevice::StillPicture(const uint8_t* buf, int length)
{
m_vBuf.Clear();
diff --git a/dxr3demuxdevice.h b/dxr3demuxdevice.h
index f1e874b..d544359 100644
--- a/dxr3demuxdevice.h
+++ b/dxr3demuxdevice.h
@@ -40,41 +40,26 @@ class iAudio;
// extract video and audio
class cDxr3DemuxDevice : private Uncopyable {
public:
- cDxr3DemuxDevice();
cDxr3DemuxDevice(cDxr3Interface& dxr3Device);
~cDxr3DemuxDevice();
void setAudio(iAudio *a);
- void Stop(void);
- void Resync(void);
- void Clear(void);
- void Init(void);
- void SetTvMode(void);
- void SetAudioOnlyMode(void);
- void SetVideoOnlyMode(void);
- void SetReplayMode(void);
+ void Stop();
+ void Resync();
+ void Clear();
+ void SetReplayMode();
void SetTrickMode(eDxr3TrickState trickState, int Speed = 1);
int DemuxPes(const uint8_t* buf, int length, bool bAc3Dts = false);
int DemuxAudioPes(const uint8_t* buf, int length);
void StillPicture(const uint8_t* buf, int length);
- eDxr3DemuxMode GetDemuxMode(void)
- {
- return m_demuxMode;
- };
- eDxr3TrickState GetTrickState(void)
- {
- return m_trickState;
- };
- bool Poll(int TimeoutMs)
- {
- return m_aBuf.Poll(TimeoutMs) && m_vBuf.Poll(TimeoutMs);
- /*
- return m_demuxMode == DXR3_DEMUX_AUDIO_ONLY_MODE ?
- m_aBuf.Poll(TimeoutMs) : m_aBuf.Poll(TimeoutMs);
- */
+ eDxr3DemuxMode GetDemuxMode() { return m_demuxMode; }
+ eDxr3TrickState GetTrickState() { return m_trickState; };
+
+ bool Poll(int TimeoutMs) {
+ return m_aBuf.Poll(TimeoutMs) && m_vBuf.Poll(TimeoutMs);
};
protected:
diff --git a/dxr3interface.h b/dxr3interface.h
index 20d60c0..b7b6dc0 100644
--- a/dxr3interface.h
+++ b/dxr3interface.h
@@ -167,7 +167,6 @@ private:
// dxr3 clock
cDxr3SysClock* m_pClock; ///< clock used for sync
- int m_aspectDelayCounter;
uint32_t m_aspectRatio; ///< current used aspect ratio
uint32_t m_horizontal; ///< horizontal size of current videostream
uint32_t m_vertical; ///< vertical size of current videostream
@@ -190,11 +189,11 @@ protected:
static void Lock()
{
- cDxr3Interface::m_pMutex->Lock();
+ cDxr3Interface::m_pMutex->Lock();
}
static void Unlock()
{
- cDxr3Interface::m_pMutex->Unlock();
+ cDxr3Interface::m_pMutex->Unlock();
}
};