void StreamingControlWidget::StartCameraStreaming()
{
    VideoDevices tList = mVideoWorker->GetPossibleDevices();
    VideoDevices::iterator tIt;
    QString tSelectedDevice = "";

    for (tIt = tList.begin(); tIt != tList.end(); tIt++)
    {
        if (tIt->Type == Camera)
        {
            tSelectedDevice = QString(tIt->Name.c_str());
            break;
        }
    }

    // found something?
    if (tSelectedDevice == "")
    {
        ShowWarning("Missing camera", "No camera available. Please, select another source!");
        return;
    }

    LOG(LOG_VERBOSE, "Selecting %s", tSelectedDevice.toStdString().c_str());

    mVideoWorker->SetCurrentDevice(tSelectedDevice);
    if (mVideoWorker->SupportsMultipleInputStreams())
        SetVideoInputSelectionVisible();
    else
        SetVideoInputSelectionVisible(false);
}
QString MediaSourceGrabberThread::GetDeviceDescription(QString pName)
{
    if (mMediaSource->GetMediaType() == MEDIA_VIDEO)
    {
        VideoDevices::iterator tIt;
        VideoDevices tVList;

        mMediaSource->getVideoDevices(tVList);
        for (tIt = tVList.begin(); tIt != tVList.end(); tIt++)
            if (pName.toStdString() == tIt->Name)
                return QString(tIt->Desc.c_str());
    }else if (mMediaSource->GetMediaType() == MEDIA_AUDIO)
    {
        AudioDevices::iterator tIt;
        AudioDevices tVList;

        mMediaSource->getAudioDevices(tVList);
        for (tIt = tVList.begin(); tIt != tVList.end(); tIt++)
            if (pName.toStdString() == tIt->Name)
                return QString(tIt->Desc.c_str());
    }
    return "";
}