diff --git a/src/add-ons/media/media-add-ons/dvb/DVBMediaNode.cpp b/src/add-ons/media/media-add-ons/dvb/DVBMediaNode.cpp index 7cac93c2dd..1da2a4cccf 100644 --- a/src/add-ons/media/media-add-ons/dvb/DVBMediaNode.cpp +++ b/src/add-ons/media/media-add-ons/dvb/DVBMediaNode.cpp @@ -181,9 +181,6 @@ DVBMediaNode::DVBMediaNode( fRequiredFormatEncAudio = fDefaultFormatEncAudio; fRequiredFormatTS = fDefaultFormatTS; - // start the BMediaEventLooper control loop running - Run(); - TRACE("current RunMode = %d\n", RunMode()); #ifdef DUMP_VIDEO @@ -350,6 +347,8 @@ DVBMediaNode::NodeRegistered() //printf("RunMode = %d\n", RunMode()); //printf("_m_recordDelay = %Ld\n", _m_recordDelay); + + Run(); } diff --git a/src/add-ons/media/media-add-ons/equalizer/EqualizerNode.cpp b/src/add-ons/media/media-add-ons/equalizer/EqualizerNode.cpp index 271b026f3e..a955c6d649 100644 --- a/src/add-ons/media/media-add-ons/equalizer/EqualizerNode.cpp +++ b/src/add-ons/media/media-add-ons/equalizer/EqualizerNode.cpp @@ -66,9 +66,6 @@ EqualizerNode::HandleMessage(int32 message, const void *data, size_t size) void EqualizerNode::NodeRegistered() { - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - fPreferredFormat.type = B_MEDIA_RAW_AUDIO; fPreferredFormat.u.raw_audio.buffer_size = BUFF_SIZE; fPreferredFormat.u.raw_audio = media_raw_audio_format::wildcard; @@ -95,6 +92,9 @@ EqualizerNode::NodeRegistered() InitParameterValues(); InitParameterWeb(); + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/add-ons/media/media-add-ons/esound_sink/ESDSinkNode.cpp b/src/add-ons/media/media-add-ons/esound_sink/ESDSinkNode.cpp index 6e4fd3fe50..9cef0a5d8d 100644 --- a/src/add-ons/media/media-add-ons/esound_sink/ESDSinkNode.cpp +++ b/src/add-ons/media/media-add-ons/esound_sink/ESDSinkNode.cpp @@ -195,10 +195,6 @@ void ESDSinkNode::NodeRegistered(void) return; } - SetPriority(B_REAL_TIME_PRIORITY); - - Run(); - // media_input *input = new media_input; fInput.format = fPreferredFormat; @@ -236,6 +232,9 @@ void ESDSinkNode::NodeRegistered(void) #ifdef PRINTING PRINT(("apply configuration in : %lld\n", system_time() - start)); #endif + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } status_t ESDSinkNode::RequestCompleted(const media_request_info &info) diff --git a/src/add-ons/media/media-add-ons/firewire_dv/FireWireDVNode.cpp b/src/add-ons/media/media-add-ons/firewire_dv/FireWireDVNode.cpp index b2958f97af..364ed13b9e 100644 --- a/src/add-ons/media/media-add-ons/firewire_dv/FireWireDVNode.cpp +++ b/src/add-ons/media/media-add-ons/firewire_dv/FireWireDVNode.cpp @@ -138,9 +138,6 @@ FireWireDVNode::NodeRegistered() { CALLED(); - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - fOutputEncVideo.node = Node(); fOutputEncVideo.source.port = ControlPort(); fOutputEncVideo.source.id = 0; @@ -149,6 +146,9 @@ FireWireDVNode::NodeRegistered() strcpy(fOutputEncVideo.name, "encoded video"); RefreshParameterWeb(); + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp index ab5d5cef33..f532179dca 100644 --- a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp +++ b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -1066,9 +1067,9 @@ AudioMixer::EnableOutput(const media_source& what, bool enabled, void AudioMixer::NodeRegistered() { - Run(); - SetPriority(120); UpdateParameterWeb(); + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/add-ons/media/media-add-ons/multi_audio/MultiAudioNode.cpp b/src/add-ons/media/media-add-ons/multi_audio/MultiAudioNode.cpp index 6b4642679e..69b65729ed 100644 --- a/src/add-ons/media/media-add-ons/multi_audio/MultiAudioNode.cpp +++ b/src/add-ons/media/media-add-ons/multi_audio/MultiAudioNode.cpp @@ -168,8 +168,11 @@ node_output::~node_output() MultiAudioNode::MultiAudioNode(BMediaAddOn* addon, const char* name, MultiAudioDevice* device, int32 internalID, BMessage* config) - : BMediaNode(name), BBufferConsumer(B_MEDIA_RAW_AUDIO), + : + BMediaNode(name), + BBufferConsumer(B_MEDIA_RAW_AUDIO), BBufferProducer(B_MEDIA_RAW_AUDIO), + BMediaEventLooper(), fBufferLock("multi audio buffers"), fThread(-1), fDevice(device), @@ -335,9 +338,6 @@ MultiAudioNode::NodeRegistered() return; } - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - node_input *currentInput = NULL; int32 currentId = 0; @@ -461,6 +461,9 @@ MultiAudioNode::NodeRegistered() PRINT(("apply configuration in : %" B_PRIdBIGTIME "\n", system_time() - start)); + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/add-ons/media/media-add-ons/opensound/OpenSoundNode.cpp b/src/add-ons/media/media-add-ons/opensound/OpenSoundNode.cpp index 8658b8b652..286eef30c8 100644 --- a/src/add-ons/media/media-add-ons/opensound/OpenSoundNode.cpp +++ b/src/add-ons/media/media-add-ons/opensound/OpenSoundNode.cpp @@ -448,10 +448,6 @@ OpenSoundNode::NodeRegistered() return; } - SetPriority(B_REAL_TIME_PRIORITY); - - Run(); - TRACE("NodeRegistered: %d engines\n", fDevice->CountEngines()); for (int32 i = 0; i < fDevice->CountEngines(); i++) { OpenSoundDeviceEngine* engine = fDevice->EngineAt(i); @@ -576,6 +572,9 @@ OpenSoundNode::NodeRegistered() } TRACE("apply configuration in : %lldµs\n", system_time() - start); + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/add-ons/media/media-add-ons/tone_producer_demo/ToneProducer.cpp b/src/add-ons/media/media-add-ons/tone_producer_demo/ToneProducer.cpp index 020b723b66..e4c8a0d503 100644 --- a/src/add-ons/media/media-add-ons/tone_producer_demo/ToneProducer.cpp +++ b/src/add-ons/media/media-add-ons/tone_producer_demo/ToneProducer.cpp @@ -629,16 +629,16 @@ ToneProducer::NodeRegistered() { FPRINTF(stderr, "ToneProducer::NodeRegistered\n"); - // Start the BMediaEventLooper thread - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - // output init moved to ctor // e.moon [4jun99] // Set up our parameter web mWeb = make_parameter_web(); SetParameterWeb(mWeb); + + // Start the BMediaEventLooper thread + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } void diff --git a/src/add-ons/media/media-add-ons/vst_host/VSTNode.cpp b/src/add-ons/media/media-add-ons/vst_host/VSTNode.cpp index 99e704d08f..13ae66d1ac 100644 --- a/src/add-ons/media/media-add-ons/vst_host/VSTNode.cpp +++ b/src/add-ons/media/media-add-ons/vst_host/VSTNode.cpp @@ -64,9 +64,6 @@ VSTNode::HandleMessage(int32 message, const void* data, size_t size) void VSTNode::NodeRegistered() { - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - fPreferredFormat.type = B_MEDIA_RAW_AUDIO; fPreferredFormat.u.raw_audio.buffer_size = BUFF_SIZE; fPreferredFormat.u.raw_audio = media_raw_audio_format::wildcard; @@ -93,6 +90,9 @@ VSTNode::NodeRegistered() InitParameterValues(); InitParameterWeb(); + + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } //BControllable diff --git a/src/apps/cortex/addons/Flanger/FlangerNode.cpp b/src/apps/cortex/addons/Flanger/FlangerNode.cpp index d162d933f3..bb188a22ba 100644 --- a/src/apps/cortex/addons/Flanger/FlangerNode.cpp +++ b/src/apps/cortex/addons/Flanger/FlangerNode.cpp @@ -227,10 +227,6 @@ void FlangerNode::NodeRegistered() { PRINT(("FlangerNode::NodeRegistered()\n")); - // Start the BMediaEventLooper thread - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - // figure preferred ('template') format m_preferredFormat.type = B_MEDIA_RAW_AUDIO; getPreferredFormat(m_preferredFormat); @@ -258,6 +254,10 @@ void FlangerNode::NodeRegistered() { // init parameters initParameterValues(); initParameterWeb(); + + // Start the BMediaEventLooper thread + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } // "Augment OfflineTime() to compute the node's current time; it's called diff --git a/src/apps/cortex/addons/common/AudioFilterNode.cpp b/src/apps/cortex/addons/common/AudioFilterNode.cpp index a43901dbc1..a78f526091 100644 --- a/src/apps/cortex/addons/common/AudioFilterNode.cpp +++ b/src/apps/cortex/addons/common/AudioFilterNode.cpp @@ -383,10 +383,6 @@ void AudioFilterNode::NodeRegistered() { PRINT(("AudioFilterNode::NodeRegistered()\n")); status_t err; - - // Start the BMediaEventLooper thread - SetPriority(B_REAL_TIME_PRIORITY); - Run(); // init input m_input.destination.port = ControlPort(); @@ -414,6 +410,10 @@ void AudioFilterNode::NodeRegistered() { // init parameters initParameterWeb(); + + // Start the BMediaEventLooper thread + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } // "Augment OfflineTime() to compute the node's current time; it's called diff --git a/src/apps/mediaplayer/media_node_framework/audio/AudioProducer.cpp b/src/apps/mediaplayer/media_node_framework/audio/AudioProducer.cpp index d870dfefef..036763a0df 100644 --- a/src/apps/mediaplayer/media_node_framework/audio/AudioProducer.cpp +++ b/src/apps/mediaplayer/media_node_framework/audio/AudioProducer.cpp @@ -587,15 +587,15 @@ AudioProducer::NodeRegistered() { TRACE("%p->AudioProducer::NodeRegistered()\n", this); - // Start the BMediaEventLooper thread - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - // set up as much information about our output as we can fOutput.source.port = ControlPort(); fOutput.source.id = 0; fOutput.node = Node(); ::strcpy(fOutput.name, Name()); + + // Start the BMediaEventLooper thread + SetPriority(B_REAL_TIME_PRIORITY); + Run(); } diff --git a/src/kits/game/GameProducer.cpp b/src/kits/game/GameProducer.cpp index a03c468047..c173058e41 100644 --- a/src/kits/game/GameProducer.cpp +++ b/src/kits/game/GameProducer.cpp @@ -422,15 +422,15 @@ GameProducer::AdditionalBufferRequested(const media_source& source, void GameProducer::NodeRegistered() { - // Start the BMediaEventLooper thread - SetPriority(B_REAL_TIME_PRIORITY); - Run(); - // set up as much information about our output as we can fOutput.source.port = ControlPort(); fOutput.source.id = 0; fOutput.node = Node(); strlcpy(fOutput.name, "GameProducer Output", B_MEDIA_NAME_LENGTH); + + // Start the BMediaEventLooper thread + SetPriority(B_REAL_TIME_PRIORITY); + Run(); }