From 8a53908265672bd3feee0ace40f9e5e38de2f30e Mon Sep 17 00:00:00 2001 From: llornkcor Date: Wed, 12 Jun 2002 00:33:13 +0000 Subject: attempted to look at stumbling issues, and pops while starting and stoping audio device. needs to be re done --- (limited to 'core') diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp index ad44abb..e0989d0 100644 --- a/core/multimedia/opieplayer/audiodevice.cpp +++ b/core/multimedia/opieplayer/audiodevice.cpp @@ -203,6 +203,8 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { int fragments = 0x10000 * 8 + sound_fragment_shift; int capabilities = 0; + QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; + #ifdef KEEP_DEVICE_OPEN if ( AudioDevicePrivate::dspFd == 0 ) { #endif @@ -244,11 +246,15 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" ); //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" ); //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" ); + QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; + } AudioDevice::~AudioDevice() { qDebug("destryo audiodevice"); + QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; + #ifdef Q_OS_WIN32 waveOutClose( (HWAVEOUT)d->handle ); #else @@ -258,6 +264,8 @@ AudioDevice::~AudioDevice() { delete d->unwrittenBuffer; delete d; #endif + QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; + } diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp index 6f86b4a..3171c4b 100644 --- a/core/multimedia/opieplayer/loopcontrol.cpp +++ b/core/multimedia/opieplayer/loopcontrol.cpp @@ -237,14 +237,14 @@ void LoopControl::startAudio() { long sampleWaitTime = currentSample - sampleWeShouldBeAt; // this causes drop outs not sure why its even here -// if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { -// usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); -// } -// else if ( sampleWaitTime <= -5000 ) { -// qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); + if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { + usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); + } + else if ( sampleWaitTime <= -5000 ) { + qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); // //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); -// currentSample = sampleWeShouldBeAt; -// } + currentSample = sampleWeShouldBeAt; + } audioDevice->write( audioBuffer, samplesRead * 2 * channels ); -- cgit v0.9.0.2