author | llornkcor <llornkcor> | 2002-06-12 00:33:13 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-06-12 00:33:13 (UTC) |
commit | 8a53908265672bd3feee0ace40f9e5e38de2f30e (patch) (unidiff) | |
tree | 9895780102a1f63cbe8cba9550320542f9b0e43b /core | |
parent | d7c563f849316c7a742769e88136058afb69a2d9 (diff) | |
download | opie-8a53908265672bd3feee0ace40f9e5e38de2f30e.zip opie-8a53908265672bd3feee0ace40f9e5e38de2f30e.tar.gz opie-8a53908265672bd3feee0ace40f9e5e38de2f30e.tar.bz2 |
attempted to look at stumbling issues, and pops while starting and stoping audio device. needs to be re done
-rw-r--r-- | core/multimedia/opieplayer/audiodevice.cpp | 8 | ||||
-rw-r--r-- | core/multimedia/opieplayer/loopcontrol.cpp | 14 |
2 files changed, 15 insertions, 7 deletions
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 | |||
@@ -202,8 +202,10 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { | |||
202 | 202 | ||
203 | int fragments = 0x10000 * 8 + sound_fragment_shift; | 203 | int fragments = 0x10000 * 8 + sound_fragment_shift; |
204 | int capabilities = 0; | 204 | int capabilities = 0; |
205 | 205 | ||
206 | QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; | ||
207 | |||
206 | #ifdef KEEP_DEVICE_OPEN | 208 | #ifdef KEEP_DEVICE_OPEN |
207 | if ( AudioDevicePrivate::dspFd == 0 ) { | 209 | if ( AudioDevicePrivate::dspFd == 0 ) { |
208 | #endif | 210 | #endif |
209 | if ( ( d->handle = ::open( "/dev/dsp", O_WRONLY ) ) < 0 ) { | 211 | if ( ( d->handle = ::open( "/dev/dsp", O_WRONLY ) ) < 0 ) { |
@@ -243,13 +245,17 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { | |||
243 | //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" ); | 245 | //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" ); |
244 | //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" ); | 246 | //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" ); |
245 | //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" ); | 247 | //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" ); |
246 | //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" ); | 248 | //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" ); |
249 | QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; | ||
250 | |||
247 | } | 251 | } |
248 | 252 | ||
249 | 253 | ||
250 | AudioDevice::~AudioDevice() { | 254 | AudioDevice::~AudioDevice() { |
251 | qDebug("destryo audiodevice"); | 255 | qDebug("destryo audiodevice"); |
256 | QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; | ||
257 | |||
252 | #ifdef Q_OS_WIN32 | 258 | #ifdef Q_OS_WIN32 |
253 | waveOutClose( (HWAVEOUT)d->handle ); | 259 | waveOutClose( (HWAVEOUT)d->handle ); |
254 | #else | 260 | #else |
255 | # ifndef KEEP_DEVICE_OPEN | 261 | # ifndef KEEP_DEVICE_OPEN |
@@ -257,8 +263,10 @@ AudioDevice::~AudioDevice() { | |||
257 | # endif | 263 | # endif |
258 | delete d->unwrittenBuffer; | 264 | delete d->unwrittenBuffer; |
259 | delete d; | 265 | delete d; |
260 | #endif | 266 | #endif |
267 | QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; | ||
268 | |||
261 | } | 269 | } |
262 | 270 | ||
263 | 271 | ||
264 | void AudioDevice::volumeChanged( bool muted ) | 272 | void AudioDevice::volumeChanged( bool muted ) |
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 | |||
@@ -236,16 +236,16 @@ void LoopControl::startAudio() { | |||
236 | long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000; | 236 | long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000; |
237 | long sampleWaitTime = currentSample - sampleWeShouldBeAt; | 237 | long sampleWaitTime = currentSample - sampleWeShouldBeAt; |
238 | 238 | ||
239 | // this causes drop outs not sure why its even here | 239 | // this causes drop outs not sure why its even here |
240 | // if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { | 240 | if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { |
241 | // usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); | 241 | usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); |
242 | // } | 242 | } |
243 | // else if ( sampleWaitTime <= -5000 ) { | 243 | else if ( sampleWaitTime <= -5000 ) { |
244 | // qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); | 244 | qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); |
245 | // //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); | 245 | // //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); |
246 | // currentSample = sampleWeShouldBeAt; | 246 | currentSample = sampleWeShouldBeAt; |
247 | // } | 247 | } |
248 | 248 | ||
249 | audioDevice->write( audioBuffer, samplesRead * 2 * channels ); | 249 | audioDevice->write( audioBuffer, samplesRead * 2 * channels ); |
250 | 250 | ||
251 | if( mediaPlayerState->isStreaming == FALSE) | 251 | if( mediaPlayerState->isStreaming == FALSE) |