알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)

QMediaPlayer(2) - QMediaServiceProvider 본문

QT/Qt Multimedia 공부하기

QMediaPlayer(2) - QMediaServiceProvider

백곳 2017. 9. 20. 19:59

QMediaServiceProvider


일단 소스를 보겠습니다. 

class QMediaService;

class Q_MULTIMEDIA_EXPORT QMediaServiceProvider : public QObject
{
    Q_OBJECT

public:
    virtual QMediaService* requestService(const QByteArray &type, const QMediaServiceProviderHint &hint = QMediaServiceProviderHint()) = 0;
    virtual void releaseService(QMediaService *service) = 0;

    virtual QMediaServiceProviderHint::Features supportedFeatures(const QMediaService *service) const;

    virtual QMultimedia::SupportEstimate hasSupport(const QByteArray &serviceType,
                                             const QString &mimeType,
                                             const QStringList& codecs,
                                             int flags = 0) const;
    virtual QStringList supportedMimeTypes(const QByteArray &serviceType, int flags = 0) const;

    virtual QByteArray defaultDevice(const QByteArray &serviceType) const;
    virtual QList<qbytearray> devices(const QByteArray &serviceType) const;
    virtual QString deviceDescription(const QByteArray &serviceType, const QByteArray &device);

    virtual QCamera::Position cameraPosition(const QByteArray &device) const;
    virtual int cameraOrientation(const QByteArray &device) const;

    static QMediaServiceProvider* defaultServiceProvider();
    static void setDefaultServiceProvider(QMediaServiceProvider *provider);
};


마지막 밑에 2줄을 제외하고는 모두 추상 함수로 오버라이딩을 하여 사용하도록 제공됩니다 .


static QMediaServiceProvider* defaultServiceProvider();
    static void setDefaultServiceProvider(QMediaServiceProvider *provider);


이부분을 알아 보겠습니다. 


void QMediaServiceProvider::setDefaultServiceProvider(QMediaServiceProvider *provider)
{
    qt_defaultMediaServiceProvider = provider;
}


/*!
    Returns a default provider of media services.
*/
QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider()
{
    return qt_defaultMediaServiceProvider != 0
            ? qt_defaultMediaServiceProvider
            : static_cast<QMediaServiceProvider *>(pluginProvider());
}


소스를 따라가보면 QMediaServiceProvider 객체를 셋팅하고 리턴 하는 함수이네요 .


'QT > Qt Multimedia 공부하기' 카테고리의 다른 글

QMediaPlayer(4) - QAudioRoleControl  (0) 2017.09.27
QMediaPlayer(3) - QMediaPlayerControl  (0) 2017.09.20
QMediaPlayer(1)  (0) 2017.09.19
QMediaObject  (0) 2017.09.18
비디오 위젯 예제 분석 데이터의 흐름을 파악(2)  (0) 2017.09.16
Comments