diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-05-07 19:06:44 +0200 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-05-07 19:06:44 +0200 |
commit | 7b032b77026b6d6cac02e1d55ce9b3f47a60a553 (patch) | |
tree | f4641c5b079072a6a120e00dcf1efd0e1f0e9439 /dxr3output-audio.c | |
parent | 8c416bb8e605f9e7dff8fa6b93927c73b317da11 (diff) | |
download | vdr-plugin-dxr3-7b032b77026b6d6cac02e1d55ce9b3f47a60a553.tar.gz vdr-plugin-dxr3-7b032b77026b6d6cac02e1d55ce9b3f47a60a553.tar.bz2 |
add methods to playback cDxr3PesFrames - untested
Diffstat (limited to 'dxr3output-audio.c')
-rw-r--r-- | dxr3output-audio.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dxr3output-audio.c b/dxr3output-audio.c index 0d2e11d..4b478a6 100644 --- a/dxr3output-audio.c +++ b/dxr3output-audio.c @@ -23,6 +23,7 @@ #include <time.h> #include "dxr3output.h" #include "dxr3audio.h" +#include "dxr3pesframe.h" // ================================== const int AUDIO_OFFSET = 4500; @@ -125,6 +126,19 @@ void cDxr3AudioOutThread::PlayFrame(cFixedLengthFrame *frame) audioOutput->write(frame->GetData(), frame->GetCount()); } +void cDxr3AudioOutThread::PlayFrame(cDxr3PesFrame *frame) +{ + // update audio context + audioOutput->setup(frame->GetSampleContext()); + + // volume changes + if (!cDxr3Interface::Instance().IsAudioModeAC3()) { + audioOutput->changeVolume((short *)frame->GetDecoded(), (size_t)frame->GetDecodedSize()); + } + + audioOutput->write((uchar *)frame->GetDecoded(), frame->GetDecodedSize()); +} + #undef SCR // Local variables: |