Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/3rdparty/phonon/qt7/quicktimemetadata.mm

    r2 r561  
    1616*/
    1717
     18#include <QtCore/QFileInfo>
    1819#include "quicktimemetadata.h"
    1920#include "quicktimevideoplayer.h"
     
    2627{
    2728
    28 QuickTimeMetaData::QuickTimeMetaData()
    29 {
    30     m_videoPlayer = 0;
     29QuickTimeMetaData::QuickTimeMetaData(QuickTimeVideoPlayer *videoPlayer)
     30{
     31    m_videoPlayer = videoPlayer;
    3132    m_movieChanged = false;
    3233}
    3334
    34 QuickTimeMetaData::~QuickTimeMetaData()
    35 {
    36 }
    37 
    38 void QuickTimeMetaData::setVideo(QuickTimeVideoPlayer *videoPlayer)
    39 {
    40     m_videoPlayer = videoPlayer;
     35void QuickTimeMetaData::update()
     36{
    4137    m_movieChanged = true;
    4238    m_metaData.clear();
     
    146142#endif // QUICKTIME_C_API_AVAILABLE
    147143
    148 void QuickTimeMetaData::readMetaData()
    149 {
    150         if (!m_videoPlayer)
    151         return;
     144void QuickTimeMetaData::guessMetaDataForCD()
     145{
     146    QString album = QFileInfo(m_videoPlayer->movieCompactDiscPath()).fileName();
     147    QString title = QFileInfo(m_videoPlayer->currentTrackPath()).fileName();
     148    title = title.left(title.lastIndexOf('.'));
     149    m_metaData.insert(QLatin1String("ALBUM"), album);
     150    m_metaData.insert(QLatin1String("TITLE"), title);
     151    m_metaData.insert(QLatin1String("TRACKNUMBER"), QString::number(m_videoPlayer->currentTrack()));
     152}
     153
     154void QuickTimeMetaData::readMetaDataFromMovie()
     155{
    152156    QMultiMap<QString, QString> metaMap;
    153    
     157
    154158#ifdef QUICKTIME_C_API_AVAILABLE
    155         QTMetaDataRef metaDataRef;       
     159    QTMetaDataRef metaDataRef;
    156160        OSStatus err = QTCopyMovieMetaData([m_videoPlayer->qtMovie() quickTimeMovie], &metaDataRef);
    157161    BACKEND_ASSERT2(err == noErr, "Could not read QuickTime meta data", NORMAL_ERROR)
     
    174178}
    175179
     180void QuickTimeMetaData::readMetaData()
     181{
     182        if (!m_videoPlayer)
     183        return;
     184
     185    if (m_videoPlayer->mediaSource().type() == Phonon::MediaSource::Disc)
     186        guessMetaDataForCD();
     187    else
     188        readMetaDataFromMovie();
     189}
     190
    176191QMultiMap<QString, QString> QuickTimeMetaData::metaData()
    177192{
Note: See TracChangeset for help on using the changeset viewer.