qtmobility/src/multimedia/qaudiocapturesource.cpp
branchGCC_SURGE
changeset 17 6745d806c5ff
parent 15 1f895d8a5b2b
equal deleted inserted replaced
12:ce961d2c008b 17:6745d806c5ff
     1 /****************************************************************************
     1 /****************************************************************************
     2 **
     2 **
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     4 ** All rights reserved.
     4 ** All rights reserved.
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     6 **
     6 **
     7 ** This file is part of the Qt Mobility Components.
     7 ** This file is part of the Qt Mobility Components.
     8 **
     8 **
    85     void initControls()
    85     void initControls()
    86     {
    86     {
    87         Q_Q(QAudioCaptureSource);
    87         Q_Q(QAudioCaptureSource);
    88 
    88 
    89         if (service != 0)
    89         if (service != 0)
    90             audioEndpointSelector = qobject_cast<QAudioEndpointSelector*>(service->control(QAudioEndpointSelector_iid));
    90             audioEndpointSelector = qobject_cast<QAudioEndpointSelector*>(service->requestControl(QAudioEndpointSelector_iid));
    91 
    91 
    92         if (audioEndpointSelector) {
    92         if (audioEndpointSelector) {
    93             q->connect(audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)),
    93             q->connect(audioEndpointSelector, SIGNAL(activeEndpointChanged(const QString&)),
    94                        SIGNAL(activeAudioInputChanged(const QString&)));
    94                        SIGNAL(activeAudioInputChanged(const QString&)));
    95             q->connect(audioEndpointSelector, SIGNAL(availableEndpointsChanged()),
    95             q->connect(audioEndpointSelector, SIGNAL(availableEndpointsChanged()),
    96                        SIGNAL(availableAudioInputsChanged()));
    96                        SIGNAL(availableAudioInputsChanged()));
    97             q->connect(audioEndpointSelector, SIGNAL(availableEndpointsChanged()),
    97             q->connect(audioEndpointSelector, SIGNAL(availableEndpointsChanged()),
    98                        SLOT(statusChanged()));
    98                        SLOT(statusChanged()));
    99             errorState = QtMediaServices::NoError;
    99             errorState = QtMultimediaKit::NoError;
   100         }
   100         }
   101     }
   101     }
   102 
   102 
   103     QAudioCaptureSourcePrivate():provider(0), audioEndpointSelector(0), errorState(QtMediaServices::ServiceMissingError) {}
   103     QAudioCaptureSourcePrivate():provider(0), audioEndpointSelector(0), errorState(QtMultimediaKit::ServiceMissingError) {}
   104     QMediaServiceProvider *provider;
   104     QMediaServiceProvider *provider;
   105     QAudioEndpointSelector   *audioEndpointSelector;
   105     QAudioEndpointSelector   *audioEndpointSelector;
   106     QtMediaServices::AvailabilityError errorState;
   106     QtMultimediaKit::AvailabilityError errorState;
   107 };
   107 };
   108 
   108 
   109 /*!
   109 /*!
   110     Construct a QAudioCaptureSource using the QMediaService from \a provider, with \a parent.
   110     Construct a QAudioCaptureSource using the QMediaService from \a provider, with \a parent.
   111 */
   111 */
   118     d->provider = provider;
   118     d->provider = provider;
   119     d->initControls();
   119     d->initControls();
   120 }
   120 }
   121 
   121 
   122 /*!
   122 /*!
   123     Construct a QAudioCaptureSource using the QMediaObject \a mediaObject, with \a parent.
   123     Destroys the audiocapturesource object.
   124 */
   124 */
   125 
   125 
   126 QAudioCaptureSource::QAudioCaptureSource(QMediaObject *mediaObject, QObject *parent)
   126 QAudioCaptureSource::~QAudioCaptureSource()
   127     :QMediaObject(*new QAudioCaptureSourcePrivate, parent, mediaObject->service())
       
   128 {
   127 {
   129     Q_D(QAudioCaptureSource);
   128     Q_D(QAudioCaptureSource);
   130 
   129 
   131     d->provider = 0;
   130     if (d->service && d->audioEndpointSelector)
   132     d->initControls();
   131         d->service->releaseControl(d->audioEndpointSelector);
   133 }
       
   134 
       
   135 /*!
       
   136     Destroys the audiocapturesource object.
       
   137 */
       
   138 
       
   139 QAudioCaptureSource::~QAudioCaptureSource()
       
   140 {
       
   141     Q_D(QAudioCaptureSource);
       
   142 
   132 
   143     if (d->provider)
   133     if (d->provider)
   144         d->provider->releaseService(d->service);
   134         d->provider->releaseService(d->service);
   145 }
   135 }
   146 
   136 
   147 /*!
   137 /*!
   148     Returns the error state of the audio capture service.
   138     Returns the error state of the audio capture service.
   149 */
   139 */
   150 
   140 
   151 QtMediaServices::AvailabilityError QAudioCaptureSource::availabilityError() const
   141 QtMultimediaKit::AvailabilityError QAudioCaptureSource::availabilityError() const
   152 {
   142 {
   153     Q_D(const QAudioCaptureSource);
   143     Q_D(const QAudioCaptureSource);
   154 
   144 
   155     return d->errorState;
   145     return d->errorState;
   156 }
   146 }
   258 {
   248 {
   259     Q_D(QAudioCaptureSource);
   249     Q_D(QAudioCaptureSource);
   260 
   250 
   261     if (d->audioEndpointSelector) {
   251     if (d->audioEndpointSelector) {
   262         if (d->audioEndpointSelector->availableEndpoints().size() > 0) {
   252         if (d->audioEndpointSelector->availableEndpoints().size() > 0) {
   263             d->errorState = QtMediaServices::NoError;
   253             d->errorState = QtMultimediaKit::NoError;
   264             emit availabilityChanged(true);
   254             emit availabilityChanged(true);
   265         } else {
   255         } else {
   266             d->errorState = QtMediaServices::BusyError;
   256             d->errorState = QtMultimediaKit::BusyError;
   267             emit availabilityChanged(false);
   257             emit availabilityChanged(false);
   268         }
   258         }
   269     } else {
   259     } else {
   270         d->errorState = QtMediaServices::ServiceMissingError;
   260         d->errorState = QtMultimediaKit::ServiceMissingError;
   271         emit availabilityChanged(false);
   261         emit availabilityChanged(false);
   272     }
   262     }
   273 }
   263 }
   274 
   264 
   275 #include "moc_qaudiocapturesource.cpp"
   265 #include "moc_qaudiocapturesource.cpp"