summaryrefslogtreecommitdiff
path: root/core/multimedia
authorzecke <zecke>2003-10-07 12:53:39 (UTC)
committer zecke <zecke>2003-10-07 12:53:39 (UTC)
commite65d5c86b5fff521dfb94282a96606546bad9585 (patch) (unidiff)
tree7aee07687deec9dec91031a0a7f70fc802d47c06 /core/multimedia
parent877f982ab6996b85870befffcacdef84a6700746 (diff)
downloadopie-e65d5c86b5fff521dfb94282a96606546bad9585.zip
opie-e65d5c86b5fff521dfb94282a96606546bad9585.tar.gz
opie-e65d5c86b5fff521dfb94282a96606546bad9585.tar.bz2
-Kill stupid QCOP check
-introduce OPIE_SOUND_FRAGMENT_SHIFT -USE_REALTIME_AUDIO_THREAD is now defined in custom.h
Diffstat (limited to 'core/multimedia') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/audiodevice.cpp37
-rw-r--r--core/multimedia/opieplayer/loopcontrol_threaded.cpp33
2 files changed, 35 insertions, 35 deletions
diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp
index 6a38fc9..d296d27 100644
--- a/core/multimedia/opieplayer/audiodevice.cpp
+++ b/core/multimedia/opieplayer/audiodevice.cpp
@@ -24,6 +24,7 @@
24#include <stdio.h> 24#include <stdio.h>
25#include <qpe/qpeapplication.h> 25#include <qpe/qpeapplication.h>
26#include <qpe/config.h> 26#include <qpe/config.h>
27#include <qpe/custom.h>
27#include <qmessagebox.h> 28#include <qmessagebox.h>
28 29
29#include "audiodevice.h" 30#include "audiodevice.h"
@@ -31,8 +32,8 @@
31 32
32#include <errno.h> 33#include <errno.h>
33 34
34#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP) 35#if !defined(QT_NO_COP)
35#include "qpe/qcopenvelope_qws.h" 36#include <qpe/qcopenvelope_qws.h>
36#endif 37#endif
37 38
38#if defined(Q_WS_X11) || defined(Q_WS_QWS) 39#if defined(Q_WS_X11) || defined(Q_WS_QWS)
@@ -45,11 +46,11 @@
45#include <unistd.h> 46#include <unistd.h>
46#endif 47#endif
47 48
48# if defined(QT_QWS_IPAQ) 49#ifdef OPIE_SOUND_FRAGMENT_SHIFT
49static const int sound_fragment_shift = 14; 50static const int sound_fragment_shift = OPIE_SOUND_FRAGMENT_SHIFT;
50# else 51#else
51static const int sound_fragment_shift = 16; 52static const int sound_fragment_shift = 16;
52# endif 53#endif
53static const int sound_fragment_bytes = (1<<sound_fragment_shift); 54static const int sound_fragment_bytes = (1<<sound_fragment_shift);
54//#endif 55//#endif
55 56
@@ -145,10 +146,10 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
145# endif 146# endif
146 147
147//#endif 148//#endif
148// qDebug( "setting volume to: 0x%x", volume ); 149// qDebug( "setting volume to: 0x%x", volume );
149#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP) 150#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
150 // Send notification that the volume has changed 151 // Send notification that the volume has changed
151 QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << muted; 152 QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << muted;
152#endif 153#endif
153} 154}
154 155
@@ -156,7 +157,7 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
156 157
157AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { 158AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
158 // qDebug("creating new audio device"); 159 // qDebug("creating new audio device");
159// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; 160// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE;
160 d = new AudioDevicePrivate; 161 d = new AudioDevicePrivate;
161 d->frequency = f; 162 d->frequency = f;
162 d->channels = chs; 163 d->channels = chs;
@@ -172,7 +173,7 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
172 int fragments = 0x10000 * 8 + sound_fragment_shift; 173 int fragments = 0x10000 * 8 + sound_fragment_shift;
173 int capabilities = 0; 174 int capabilities = 0;
174 175
175 176
176#ifdef KEEP_DEVICE_OPEN 177#ifdef KEEP_DEVICE_OPEN
177 if ( AudioDevicePrivate::dspFd == 0 ) { 178 if ( AudioDevicePrivate::dspFd == 0 ) {
178#endif 179#endif
@@ -187,7 +188,7 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
187 QMessageBox::critical(0, "Vmemo", errorMsg, tr("Abort")); 188 QMessageBox::critical(0, "Vmemo", errorMsg, tr("Abort"));
188 exit(-1); //harsh? 189 exit(-1); //harsh?
189 } 190 }
190#ifdef KEEP_DEVICE_OPEN 191#ifdef KEEP_DEVICE_OPEN
191 AudioDevicePrivate::dspFd = d->handle; 192 AudioDevicePrivate::dspFd = d->handle;
192 } else { 193 } else {
193 d->handle = AudioDevicePrivate::dspFd; 194 d->handle = AudioDevicePrivate::dspFd;
@@ -209,34 +210,34 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
209 if(ioctl( d->handle, SNDCTL_DSP_CHANNELS, &d->channels )==-1) 210 if(ioctl( d->handle, SNDCTL_DSP_CHANNELS, &d->channels )==-1)
210 perror("ioctl(\"SNDCTL_DSP_CHANNELS\")"); 211 perror("ioctl(\"SNDCTL_DSP_CHANNELS\")");
211 } 212 }
212// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; 213// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE;
213 214
214 d->bufferSize = sound_fragment_bytes; 215 d->bufferSize = sound_fragment_bytes;
215 d->unwrittenBuffer = new char[d->bufferSize]; 216 d->unwrittenBuffer = new char[d->bufferSize];
216 d->unwritten = 0; 217 d->unwritten = 0;
217 d->can_GETOSPACE = TRUE; // until we find otherwise 218 d->can_GETOSPACE = TRUE; // until we find otherwise
218 219
219 //if ( chs != d->channels ) qDebug( "Wanted %d, got %d channels", chs, d->channels ); 220 //if ( chs != d->channels ) qDebug( "Wanted %d, got %d channels", chs, d->channels );
220 //if ( f != d->frequency ) qDebug( "wanted %dHz, got %dHz", f, d->frequency ); 221 //if ( f != d->frequency ) qDebug( "wanted %dHz, got %dHz", f, d->frequency );
221 //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" ); 222 //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" );
222 //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" ); 223 //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" );
223 //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" ); 224 //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" );
224 //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" ); 225 //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" );
225 226
226} 227}
227 228
228 229
229AudioDevice::~AudioDevice() { 230AudioDevice::~AudioDevice() {
230 // qDebug("destryo audiodevice"); 231 // qDebug("destryo audiodevice");
231// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; 232// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE;
232 233
233# ifndef KEEP_DEVICE_OPEN 234# ifndef KEEP_DEVICE_OPEN
234 close( d->handle ); // Now it should be safe to shut the handle 235 close( d->handle ); // Now it should be safe to shut the handle
235# endif 236# endif
236 delete d->unwrittenBuffer; 237 delete d->unwrittenBuffer;
237 delete d; 238 delete d;
238// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; 239// QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE;
239 240
240} 241}
241 242
242 243
diff --git a/core/multimedia/opieplayer/loopcontrol_threaded.cpp b/core/multimedia/opieplayer/loopcontrol_threaded.cpp
index 364e77b..3796549 100644
--- a/core/multimedia/opieplayer/loopcontrol_threaded.cpp
+++ b/core/multimedia/opieplayer/loopcontrol_threaded.cpp
@@ -20,9 +20,10 @@
20#define _REENTRANT 20#define _REENTRANT
21 21
22#include <qpe/qpeapplication.h> 22#include <qpe/qpeapplication.h>
23#include <qpe/custom.h>
23#include <qimage.h> 24#include <qimage.h>
24#include <qpainter.h> 25#include <qpainter.h>
25#ifdef Q_WS_QWS 26#if !defined(QT_NO_COP)
26#include <qpe/qcopenvelope_qws.h> 27#include <qpe/qcopenvelope_qws.h>
27#endif 28#endif
28#include "mediaplayerplugininterface.h" 29#include "mediaplayerplugininterface.h"
@@ -39,9 +40,7 @@
39#include "mediaplayerstate.h" 40#include "mediaplayerstate.h"
40 41
41 42
42#if defined(QT_QWS_SL5XXX) || defined(QT_QWS_IPAQ) || defined(QT_QWS_RAMSES) 43
43#define USE_REALTIME_AUDIO_THREAD
44#endif
45 44
46 45
47extern VideoWidget *videoUI; // now only needed to tell it to play a frame 46extern VideoWidget *videoUI; // now only needed to tell it to play a frame
@@ -256,7 +255,7 @@ void LoopControl::startVideo() {
256 videoMutex->lock(); 255 videoMutex->lock();
257 current_frame = int( (double)playtime.elapsed() * (double)framerate / 1000.0 ); 256 current_frame = int( (double)playtime.elapsed() * (double)framerate / 1000.0 );
258 //current_frame = ( clock() - begin ) * (double)framerate / CLOCKS_PER_SEC; 257 //current_frame = ( clock() - begin ) * (double)framerate / CLOCKS_PER_SEC;
259 258
260 // Sync to Audio 259 // Sync to Audio
261// current_frame = (long)((double)(audioSampleCounter - 1000) * framerate / (double)freq); 260// current_frame = (long)((double)(audioSampleCounter - 1000) * framerate / (double)freq);
262 261
@@ -312,17 +311,17 @@ void LoopControl::startVideo() {
312 mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream ); 311 mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
313 } 312 }
314 prev_frame = current_frame; 313 prev_frame = current_frame;
315 if ( moreVideo = videoUI->playVideo() ) 314 if ( moreVideo = videoUI->playVideo() )
316 emitChangePos = TRUE; 315 emitChangePos = TRUE;
317 videoMutex->unlock(); 316 videoMutex->unlock();
318 } 317 }
319 318
320 } else 319 } else
321 moreVideo = FALSE; 320 moreVideo = FALSE;
322 321
323 } 322 }
324 323
325 if ( !moreVideo && !moreAudio ) 324 if ( !moreVideo && !moreAudio )
326 emitPlayFinished = TRUE; 325 emitPlayFinished = TRUE;
327 326
328 pthread_exit(NULL); 327 pthread_exit(NULL);
@@ -330,7 +329,7 @@ void LoopControl::startVideo() {
330 329
331void LoopControl::startAudio() { 330void LoopControl::startAudio() {
332 moreAudio = TRUE; 331 moreAudio = TRUE;
333 332
334 while ( moreAudio ) { 333 while ( moreAudio ) {
335 334
336 if ( !isMuted && mediaPlayerState->curDecoder() && hasAudioChannel ) { 335 if ( !isMuted && mediaPlayerState->curDecoder() && hasAudioChannel ) {
@@ -404,7 +403,7 @@ void LoopControl::startAudio() {
404 403
405 // qDebug( "End of file" ); 404 // qDebug( "End of file" );
406 405
407 if ( !moreVideo && !moreAudio ) 406 if ( !moreVideo && !moreAudio )
408 emitPlayFinished = TRUE; 407 emitPlayFinished = TRUE;
409 408
410 pthread_exit(NULL); 409 pthread_exit(NULL);
@@ -484,7 +483,7 @@ void LoopControl::stop( bool willPlayAgainShortly ) {
484 483
485#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 484#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
486 if ( !willPlayAgainShortly && disabledSuspendScreenSaver ) { 485 if ( !willPlayAgainShortly && disabledSuspendScreenSaver ) {
487 disabledSuspendScreenSaver = FALSE; 486 disabledSuspendScreenSaver = FALSE;
488 // Re-enable the suspend mode 487 // Re-enable the suspend mode
489 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; 488 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
490 } 489 }
@@ -512,9 +511,9 @@ bool LoopControl::init( const QString& filename ) {
512 fileName = filename; 511 fileName = filename;
513 stream = 0; // only play stream 0 for now 512 stream = 0; // only play stream 0 for now
514 current_frame = total_video_frames = total_audio_samples = 0; 513 current_frame = total_video_frames = total_audio_samples = 0;
515 514
516 // qDebug( "Using the %s decoder", mediaPlayerState->curDecoder()->pluginName() ); 515 // qDebug( "Using the %s decoder", mediaPlayerState->curDecoder()->pluginName() );
517 516
518 // ### Hack to use libmpeg3plugin to get the number of audio samples if we are using the libmad plugin 517 // ### Hack to use libmpeg3plugin to get the number of audio samples if we are using the libmad plugin
519 if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMadPlugin") ) { 518 if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMadPlugin") ) {
520 if ( mediaPlayerState->libMpeg3Decoder() && mediaPlayerState->libMpeg3Decoder()->open( filename ) ) { 519 if ( mediaPlayerState->libMpeg3Decoder() && mediaPlayerState->libMpeg3Decoder()->open( filename ) ) {
@@ -534,12 +533,12 @@ bool LoopControl::init( const QString& filename ) {
534 533
535 channels = mediaPlayerState->curDecoder()->audioChannels( astream ); 534 channels = mediaPlayerState->curDecoder()->audioChannels( astream );
536 DecodeLoopDebug(( "channels = %d\n", channels )); 535 DecodeLoopDebug(( "channels = %d\n", channels ));
537 536
538 if ( !total_audio_samples ) 537 if ( !total_audio_samples )
539 total_audio_samples = mediaPlayerState->curDecoder()->audioSamples( astream ); 538 total_audio_samples = mediaPlayerState->curDecoder()->audioSamples( astream );
540 539
541 mediaPlayerState->setLength( total_audio_samples ); 540 mediaPlayerState->setLength( total_audio_samples );
542 541
543 freq = mediaPlayerState->curDecoder()->audioFrequency( astream ); 542 freq = mediaPlayerState->curDecoder()->audioFrequency( astream );
544 DecodeLoopDebug(( "frequency = %d\n", freq )); 543 DecodeLoopDebug(( "frequency = %d\n", freq ));
545 544
@@ -594,9 +593,9 @@ void LoopControl::play() {
594 593
595#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 594#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
596 if ( !disabledSuspendScreenSaver ) { 595 if ( !disabledSuspendScreenSaver ) {
597 disabledSuspendScreenSaver = TRUE; 596 disabledSuspendScreenSaver = TRUE;
598 // Stop the screen from blanking and power saving state 597 // Stop the screen from blanking and power saving state
599 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) 598 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" )
600 << ( hasVideoChannel ? QPEApplication::Disable : QPEApplication::DisableSuspend ); 599 << ( hasVideoChannel ? QPEApplication::Disable : QPEApplication::DisableSuspend );
601 } 600 }
602#endif 601#endif