From 7cbe723e0a244af3f084cfefd710351485a770b4 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sun, 9 Nov 2014 13:37:45 +0100 Subject: [PATCH] Make readDoneCallback a member function --- src/libtomahawk/audio/AudioOutput.cpp | 10 +++++++++- src/libtomahawk/audio/MediaStream.cpp | 6 ++---- src/libtomahawk/audio/MediaStream.h | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/audio/AudioOutput.cpp b/src/libtomahawk/audio/AudioOutput.cpp index e2232d7cc..daecb2d83 100644 --- a/src/libtomahawk/audio/AudioOutput.cpp +++ b/src/libtomahawk/audio/AudioOutput.cpp @@ -180,6 +180,14 @@ int readCallback ( void* data, const char* cookie, int64_t* dts, int64_t* pts, u } +int +readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer ) +{ + MediaStream* mediaStream = static_cast< MediaStream * >( data ); + return mediaStream->readDoneCallback( cookie, bufferSize, buffer ); +} + + void AudioOutput::setCurrentSource( MediaStream* stream ) { @@ -257,7 +265,7 @@ AudioOutput::setCurrentSource( MediaStream* stream ) libvlc_media_add_option_flag(m_vlcMedia, imemData, libvlc_media_option_trusted); const char* imemGet = QString( "imem-get=%1" ).arg( (uintptr_t)&readCallback ).toLatin1().constData(); libvlc_media_add_option_flag(m_vlcMedia, imemGet, libvlc_media_option_trusted); - const char* imemRelease = QString( "imem-release=%1" ).arg( (uintptr_t)&MediaStream::readDoneCallback ).toLatin1().constData(); + const char* imemRelease = QString( "imem-release=%1" ).arg( (uintptr_t)&readDoneCallback ).toLatin1().constData(); libvlc_media_add_option_flag(m_vlcMedia, imemRelease, libvlc_media_option_trusted); const char* imemSeek = QString( "imem-seek=%1" ).arg( (uintptr_t)&MediaStream::seekCallback ).toLatin1().constData(); libvlc_media_add_option_flag(m_vlcMedia, imemSeek, libvlc_media_option_trusted); diff --git a/src/libtomahawk/audio/MediaStream.cpp b/src/libtomahawk/audio/MediaStream.cpp index f5dd36e06..895f09870 100644 --- a/src/libtomahawk/audio/MediaStream.cpp +++ b/src/libtomahawk/audio/MediaStream.cpp @@ -144,14 +144,12 @@ MediaStream::readCallback ( const char* cookie, int64_t* dts, int64_t* pts, unsi int -MediaStream::readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer ) +MediaStream::readDoneCallback ( const char *cookie, size_t bufferSize, void *buffer ) { Q_UNUSED(cookie); Q_UNUSED(bufferSize); - MediaStream* that = static_cast < MediaStream * > ( data ); - - if ( ( that->m_type == Stream ) && buffer != 0 && bufferSize > 0 ) { + if ( ( m_type == Stream ) && buffer != nullptr && bufferSize > 0 ) { delete static_cast< char* >( buffer ); } diff --git a/src/libtomahawk/audio/MediaStream.h b/src/libtomahawk/audio/MediaStream.h index 7192c14ef..831e70a57 100644 --- a/src/libtomahawk/audio/MediaStream.h +++ b/src/libtomahawk/audio/MediaStream.h @@ -55,7 +55,7 @@ public: virtual qint64 needData ( void** buffer ) { (void)buffer; return 0; } int readCallback( const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer ); - static int readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer ); + int readDoneCallback ( const char *cookie, size_t bufferSize, void *buffer ); static int seekCallback ( void *data, const uint64_t pos ); public slots: