diff options
Diffstat (limited to 'plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp')
-rw-r--r-- | plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp | 71 |
1 files changed, 15 insertions, 56 deletions
diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp index a0bf0b35fc..ea61560b41 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediarecognizer.cpp @@ -39,14 +39,13 @@ ** ****************************************************************************/ +#include <QtCore/QUrl> +#include <QtCore/QDir> +#include "s60mediaplayerutils.h" #include "s60mediarecognizer.h" #include "s60mmtrace.h" #include <e32def.h> #include <e32cmn.h> -#include <QtCore/qurl.h> -#include <QtCore/qdir.h> -#include <QtCore/qdebug.h> - #include <apgcli.h> static const TInt KMimeTypePrefixLength = 6; // "audio/" or "video/" @@ -55,34 +54,20 @@ _LIT(KMimeTypePrefixAudio, "audio/"); _LIT(KMimeTypePrefixVideo, "video/"); _LIT(KMimeTypeRingingTone, "application/vnd.nokia.ringing-tone"); -/*! - Construct a media Recognizer with the given \a parent. -*/ - -S60MediaRecognizer::S60MediaRecognizer(QObject *parent) : QObject(parent) +S60MediaRecognizer::S60MediaRecognizer(QObject *parent) + : QObject(parent) { TRACE("S60MediaRecognizer::S60MediaRecognizer" << qtThisPtr()); } -/*! - Destroys a media Recognizer. -*/ - S60MediaRecognizer::~S60MediaRecognizer() { TRACE("S60MediaRecognizer::~S60MediaRecognizer" << qtThisPtr()); - m_file.Close(); m_fileServer.Close(); m_recognizer.Close(); } -/*! - * \return media type of \a url. - * \a url may be a streaming link or a local file. - * If \a url is local file then identifies the media type and returns it. -*/ - S60MediaRecognizer::MediaType S60MediaRecognizer::mediaType(const QUrl &url) { S60MediaRecognizer::MediaType result; @@ -95,62 +80,36 @@ S60MediaRecognizer::MediaType S60MediaRecognizer::mediaType(const QUrl &url) return result; } -/*! - * \return Media type of \a file name by recognizing its mimetype whether its audio or video. -*/ - -S60MediaRecognizer::MediaType S60MediaRecognizer::identifyMediaType(const QString& fileName) +S60MediaRecognizer::MediaType S60MediaRecognizer::identifyMediaType(const QString &fileName) { - - S60MediaRecognizer::MediaType result = Video; // default to videoplayer + S60MediaRecognizer::MediaType result = NotSupported; bool recognizerOpened = false; - TInt err = m_recognizer.Connect(); - if (err == KErrNone) { + if (err == KErrNone) recognizerOpened = true; - } - err = m_fileServer.Connect(); - if (err == KErrNone) { + if (err == KErrNone) recognizerOpened = true; - } - // This is needed for sharing file handles for the recognizer err = m_fileServer.ShareProtected(); - if (err == KErrNone) { + if (err == KErrNone) recognizerOpened = true; - } - if (recognizerOpened) { m_file.Close(); - err = m_file.Open(m_fileServer, QString2TPtrC(QDir::toNativeSeparators(fileName)), EFileRead | - EFileShareReadersOnly); - + err = m_file.Open(m_fileServer, QString2TPtrC(QDir::toNativeSeparators(fileName)), + EFileRead | EFileShareReadersOnly); if (err == KErrNone) { TDataRecognitionResult recognizerResult; err = m_recognizer.RecognizeData(m_file, recognizerResult); if (err == KErrNone) { const TPtrC mimeType = recognizerResult.iDataType.Des(); - - if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixAudio) == 0 || - mimeType.Compare(KMimeTypeRingingTone) == 0) { + if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixAudio) == 0 + || mimeType.Compare(KMimeTypeRingingTone) == 0) result = Audio; - } else if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixVideo) == 0) { + else if (mimeType.Left(KMimeTypePrefixLength).Compare(KMimeTypePrefixVideo) == 0) result = Video; - } } } } - return result; } - -/*! - * \return Symbian modifiable pointer descriptor from a QString \a string. - */ - -TPtrC S60MediaRecognizer::QString2TPtrC( const QString& string ) -{ - // Returned TPtrC is valid as long as the given parameter is valid and unmodified - return TPtrC16(static_cast<const TUint16*>(string.utf16()), string.length()); -} |