diff --git a/src/audio/multimediaaudioplayer.cc b/src/audio/multimediaaudioplayer.cc index aecc330bd..9384edbc5 100644 --- a/src/audio/multimediaaudioplayer.cc +++ b/src/audio/multimediaaudioplayer.cc @@ -26,12 +26,11 @@ void MultimediaAudioPlayer::audioOutputChange() QString MultimediaAudioPlayer::play( const char * data, int size ) { stop(); - audioBuffer = new QBuffer(); - audioBuffer->setData( data, size ); - if ( !audioBuffer->open( QIODevice::ReadOnly ) ) { + audioBuffer.setData( data, size ); + if ( !audioBuffer.open( QIODevice::ReadOnly ) ) { return tr( "Couldn't open audio buffer for reading." ); } - player.setSourceDevice( audioBuffer ); + player.setSourceDevice( &audioBuffer ); audioOutput.setDevice( QMediaDevices::defaultAudioOutput() ); player.setAudioOutput( &audioOutput ); @@ -43,12 +42,8 @@ QString MultimediaAudioPlayer::play( const char * data, int size ) void MultimediaAudioPlayer::stop() { player.stop(); - - if ( audioBuffer ) { - audioBuffer->close(); - audioBuffer->setData( QByteArray() ); // Free memory. - audioBuffer.clear(); - } + audioBuffer.close(); + audioBuffer.setData( QByteArray() ); // Free memory. } void MultimediaAudioPlayer::onMediaPlayerError() diff --git a/src/audio/multimediaaudioplayer.hh b/src/audio/multimediaaudioplayer.hh index 829f5aa75..e404d6a34 100644 --- a/src/audio/multimediaaudioplayer.hh +++ b/src/audio/multimediaaudioplayer.hh @@ -10,7 +10,6 @@ #include #include #include - #include class MultimediaAudioPlayer: public AudioPlayerInterface { @@ -28,7 +27,7 @@ private slots: private: - QPointer< QBuffer > audioBuffer; + QBuffer audioBuffer; QMediaPlayer player; ///< Depends on audioBuffer. QAudioOutput audioOutput; QMediaDevices mediaDevices;