summaryrefslogtreecommitdiff
path: root/dxr3output-audio.c
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2009-05-07 19:06:44 +0200
committerChristian Gmeiner <christian.gmeiner@gmail.com>2009-05-07 19:06:44 +0200
commit7b032b77026b6d6cac02e1d55ce9b3f47a60a553 (patch)
treef4641c5b079072a6a120e00dcf1efd0e1f0e9439 /dxr3output-audio.c
parent8c416bb8e605f9e7dff8fa6b93927c73b317da11 (diff)
downloadvdr-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.c14
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: