diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-06-07 23:24:25 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-06-07 23:24:25 +0900 |
commit | de908386bae765e5717a5c7b804f35dbe6a44605 (patch) | |
tree | 31dd9fcf2da364dbc2c90952af84682197dc3760 /mpeglib/lib/decoder/nukePlugin.cpp | |
parent | 0ff78fd8fa394a48fbc458c0e1b860f144163cca (diff) | |
download | tdemultimedia-de908386bae765e5717a5c7b804f35dbe6a44605.tar.gz tdemultimedia-de908386bae765e5717a5c7b804f35dbe6a44605.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>
Diffstat (limited to 'mpeglib/lib/decoder/nukePlugin.cpp')
-rw-r--r-- | mpeglib/lib/decoder/nukePlugin.cpp | 14 |
1 files changed, 8 insertions, 6 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(); } |