summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/loopcontrol_threaded.cpp
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/opieplayer/loopcontrol_threaded.cpp
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/opieplayer/loopcontrol_threaded.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/loopcontrol_threaded.cpp33
1 files changed, 16 insertions, 17 deletions
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