Diffstat (limited to 'core/multimedia/opieplayer/loopcontrol.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/loopcontrol.cpp | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp index 4ed5921..91153fd 100644 --- a/core/multimedia/opieplayer/loopcontrol.cpp +++ b/core/multimedia/opieplayer/loopcontrol.cpp @@ -18,24 +18,32 @@ ** **********************************************************************/ // L.J.Potter added changes Fri 02-15-2002 + +#include "mediaplayerstate.h" +#include "loopcontrol.h" +#include "videowidget.h" +#include "audiodevice.h" + +/* OPIE */ #include <qpe/qpeapplication.h> +#include <qpe/mediaplayerplugininterface.h> +#include <opie2/odebug.h> #ifdef Q_WS_QWS #include <qpe/qcopenvelope_qws.h> #endif + +/* QT */ + +/* STD */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pthread.h> #include <errno.h> #include <unistd.h> -#include "loopcontrol.h" -#include "videowidget.h" -#include "audiodevice.h" -#include <qpe/mediaplayerplugininterface.h> -#include "mediaplayerstate.h" extern VideoWidget *videoUI; // now only needed to tell it to play a frame extern MediaPlayerState *mediaPlayerState; @@ -99,9 +107,9 @@ Mutex *audioMutex; LoopControl::LoopControl( QObject *parent, const char *name ) : QObject( parent, name ) { isMuted = FALSE; connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( setMute(bool) ) ); - //qDebug("starting loopcontrol"); + //odebug << "starting loopcontrol" << oendl; audioMutex = new Mutex; pthread_attr_init(&audio_attr); #define USE_REALTIME_AUDIO_THREAD @@ -111,14 +119,14 @@ LoopControl::LoopControl( QObject *parent, const char *name ) sched_param params; params.sched_priority = 50; pthread_attr_setschedparam(&audio_attr,¶ms); } else { - // qDebug( "Error setting up a realtime thread, reverting to using a normal thread." ); + // odebug << "Error setting up a realtime thread, reverting to using a normal thread." << oendl; pthread_attr_destroy(&audio_attr); pthread_attr_init(&audio_attr); } #endif - //qDebug("create audio thread"); + //odebug << "create audio thread" << oendl; pthread_create(&audio_tid, &audio_attr, (void * (*)(void *))startAudioThread, this); } @@ -152,9 +160,9 @@ void LoopControl::timerEvent( QTimerEvent *te ) { void LoopControl::setPosition( long pos ) { audioMutex->lock(); -// qDebug("Loop control %d", pos); +// odebug << "Loop control " << pos << "" << oendl; if ( hasVideoChannel && hasAudioChannel ) { playtime.restart(); playtime = playtime.addMSecs( long((double)-pos * 1000.0 / framerate) ); current_frame = pos + 1; @@ -227,9 +235,9 @@ void LoopControl::startAudio() { currentSample = audioSampleCounter + 1; // if ( currentSample != audioSampleCounter + 1 ) -// qDebug("out of sync with decoder %i %i", currentSample, audioSampleCounter); +// odebug << "out of sync with decoder " << currentSample << " " << audioSampleCounter << "" << oendl; long samplesRead = 0; bool readOk=mediaPlayerState->curDecoder()->audioReadSamples( (short*)audioBuffer, channels, 1024, samplesRead, stream ); long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000; @@ -240,9 +248,9 @@ void LoopControl::startAudio() { 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 ); + // odebug << "need to catch up by: " << -sampleWaitTime << " (" << currentSample << "," << sampleWeShouldBeAt << ")" << oendl; // //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); currentSample = sampleWeShouldBeAt; } } @@ -360,9 +368,9 @@ bool LoopControl::init( const QString& filename ) { fileName = filename; stream = 0; // only play stream 0 for now current_frame = total_video_frames = total_audio_samples = 0; - // qDebug( "Using the %s decoder", mediaPlayerState->curDecoder()->pluginName() ); + // odebug << "Using the " << mediaPlayerState->curDecoder()->pluginName() << " decoder" << oendl; // ### Hack to use libmpeg3plugin to get the number of audio samples if we are using the libmad plugin // if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMadPlugin") ) { // if ( mediaPlayerState->libMpeg3Decoder() && mediaPlayerState->libMpeg3Decoder()->open( filename )) { @@ -386,25 +394,25 @@ bool LoopControl::init( const QString& filename ) { channels = 2; //dont akx me why, but it needs this hack else channels = mediaPlayerState->curDecoder()->audioChannels( astream ); - // qDebug( "LC- channels = %d", channels ); + // odebug << "LC- channels = " << channels << "" << oendl; // if ( !total_audio_samples ) total_audio_samples = mediaPlayerState->curDecoder()->audioSamples( astream ); total_audio_samples += 1000; - // qDebug("total samples %d", total_audio_samples); + // odebug << "total samples " << total_audio_samples << "" << oendl; mediaPlayerState->setLength( total_audio_samples ); freq = mediaPlayerState->curDecoder()->audioFrequency( astream ); - // qDebug( "LC- frequency = %d", freq ); + // odebug << "LC- frequency = " << freq << "" << oendl; audioSampleCounter = 0; int bits_per_sample; if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibWavPlugin") ) { bits_per_sample =(int) mediaPlayerState->curDecoder()->getTime(); - // qDebug("using stupid hack"); + // odebug << "using stupid hack" << oendl; } else { bits_per_sample=0; } @@ -450,9 +458,9 @@ bool LoopControl::init( const QString& filename ) { } void LoopControl::play() { - // qDebug("LC- play"); + // odebug << "LC- play" << oendl; mediaPlayerState->setPosition( 0); //uglyhack #if defined(Q_WS_QWS) && !defined(QT_NO_COP) if ( !disabledSuspendScreenSaver || previousSuspendMode != hasVideoChannel ) { |