summaryrefslogtreecommitdiffstats
path: root/mpeglib/lib/decoder
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2018-06-07 23:24:25 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2018-06-07 23:26:29 +0900
commit53bd3f321c8f3b7157905f31876e370c6a356598 (patch)
tree84f6e491b7ee9a7b1314f846e33e09f92a1362d7 /mpeglib/lib/decoder
parent5a6c69b215d8917fcd5a140e7e1aca01cf52fa00 (diff)
downloadtdemultimedia-53bd3f321c8f3b7157905f31876e370c6a356598.tar.gz
tdemultimedia-53bd3f321c8f3b7157905f31876e370c6a356598.zip
Fixed NukePlugin implementation which was preventing the sound server
from autosuspending. This relates to bug 2844. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit de908386bae765e5717a5c7b804f35dbe6a44605)
Diffstat (limited to 'mpeglib/lib/decoder')
-rw-r--r--mpeglib/lib/decoder/nukePlugin.cpp14
-rw-r--r--mpeglib/lib/decoder/nukePlugin.h4
2 files changed, 9 insertions, 9 deletions
diff --git a/mpeglib/lib/decoder/nukePlugin.cpp b/mpeglib/lib/decoder/nukePlugin.cpp
index 08c8ce89..e75796cd 100644
--- a/mpeglib/lib/decoder/nukePlugin.cpp
+++ b/mpeglib/lib/decoder/nukePlugin.cpp
@@ -1,5 +1,5 @@
/*
- this plugin nukes the input data.
+ This plugin nukes the input data and does not play any sound.
Copyright (C) 2000 Martin Vogt
This program is free software; you can redistribute it and/or modify
@@ -12,7 +12,6 @@
#include "nukePlugin.h"
-
#include <iostream>
using namespace std;
@@ -20,12 +19,9 @@ using namespace std;
NukePlugin::NukePlugin() {
}
-
NukePlugin::~NukePlugin() {
}
-
-
void NukePlugin::decoder_loop() {
if (input == NULL) {
cout << "NukePlugin::decoder_loop input is NULL"<<endl;
@@ -37,10 +33,14 @@ void NukePlugin::decoder_loop() {
}
char nukeBuffer[8192];
+ output->audioInit();
while(runCheck()) {
-
switch(streamState) {
case _STREAM_STATE_FIRST_INIT :
+ output->audioOpen();
+ output->audioSetup(0,0,0,0,0);
+ setStreamState(_STREAM_STATE_PLAY);
+ break;
case _STREAM_STATE_INIT :
case _STREAM_STATE_PLAY :
input->read(nukeBuffer,8192);
@@ -54,6 +54,8 @@ void NukePlugin::decoder_loop() {
cout << "unknown stream state:"<<streamState<<endl;
}
}
+ output->audioFlush();
+ output->audioClose();
}
diff --git a/mpeglib/lib/decoder/nukePlugin.h b/mpeglib/lib/decoder/nukePlugin.h
index 8a9aa9a3..a7df2495 100644
--- a/mpeglib/lib/decoder/nukePlugin.h
+++ b/mpeglib/lib/decoder/nukePlugin.h
@@ -1,5 +1,5 @@
/*
- this plugin nukes the input data.
+ This plugin nukes the input data and does not play any sound.
Copyright (C) 2000 Martin Vogt
This program is free software; you can redistribute it and/or modify
@@ -28,7 +28,5 @@ class KDE_EXPORT NukePlugin : public DecoderPlugin {
void decoder_loop();
void config(const char* key,const char* value,void* user_data);
- private:
-
};
#endif