Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 73116)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 73117)
@@ -37,4 +37,6 @@
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
+#define VIDEO_CAPTURE_BIT_RATE_MIN 32
+#define VIDEO_CAPTURE_BIT_RATE_MAX 2048
 
 /** Machine settings: Display page data structure. */
@@ -104,5 +106,6 @@
         VideoCaptureOption_Unknown,
         VideoCaptureOption_AC,
-        VideoCaptureOption_VC
+        VideoCaptureOption_VC,
+        VideoCaptureOption_AC_Profile
     };
 
@@ -121,4 +124,5 @@
         keys["ac_enabled"] = VideoCaptureOption_AC;
         keys["vc_enabled"] = VideoCaptureOption_VC;
+        keys["ac_profile"] = VideoCaptureOption_AC_Profile;
         /* Return known value or VideoCaptureOption_Unknown otherwise: */
         return keys.value(strKey, VideoCaptureOption_Unknown);
@@ -132,4 +136,5 @@
         values[VideoCaptureOption_AC] = "ac_enabled";
         values[VideoCaptureOption_VC] = "vc_enabled";
+        values[VideoCaptureOption_AC_Profile] = "ac_profile";
         /* Return known value or QString() otherwise: */
         return values.value(enmKey);
@@ -188,41 +193,17 @@
     }
 
-    /** Defines whether passed Video Capture @a enmOption is @a fEnabled. */
-    static QString setVideoCaptureOptionEnabled(const QString &strOptions,
-                                                VideoCaptureOption enmOption,
-                                                bool fEnabled)
-    {
-        QList<VideoCaptureOption> aKeys;
-        QStringList aValues;
-        parseVideoCaptureOptions(strOptions, aKeys, aValues);
-        int iIndex = aKeys.indexOf(enmOption);
-        QString strValue = fEnabled ? "true" : "false";
-        if (iIndex == -1)
-        {
-            aKeys << enmOption;
-            aValues << strValue;
-        }
-        else
-        {
-            aValues[iIndex] = strValue;
-        }
-        QString strResult;
-        serializeVideoCaptureOptions(aKeys, aValues, strResult);
-        return strResult;
-    }
-
     /** Defines whether passed Video Capture Options @a enmOptions is @a flags (enabled). */
     static QString setVideoCaptureOptionEnabled(const QString &strOptions,
                                                 const QVector<VideoCaptureOption> &enmOptions,
-                                                const QVector<bool> &flags)
-    {
-        if (enmOptions.size() != flags.size())
+                                                const QStringList &values)
+    {
+        if (enmOptions.size() != values.size())
             return QString();
         QList<VideoCaptureOption> aKeys;
         QStringList aValues;
         parseVideoCaptureOptions(strOptions, aKeys, aValues);
-        for(int i = 0; i < flags.size(); ++i)
-        {
-            QString strValue = flags[i] ? "true" : "false";
+        for(int i = 0; i < values.size(); ++i)
+        {
+            QString strValue = values[i];
             int iIndex = aKeys.indexOf(enmOptions[i]);
             if (iIndex == -1)
@@ -494,20 +475,20 @@
     newDisplayData.m_screens = m_pScrollerVideoCaptureScreens->value();
 
-    QVector<bool> flagsVector;
-    flagsVector.push_back(
-                          m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoAudio) ||
-                          m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoOnly));
-
-    flagsVector.push_back(
-                          m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoAudio) ||
-                          m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_AudioOnly));
+    /* Update  video capture options */
+    QStringList optionValues;
+    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoAudio) ||
+                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoOnly)) ? "true" : "false");
+    optionValues.push_back((m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_VideoAudio) ||
+                            m_pComboBoxCaptureMode->currentIndex() == static_cast<int>(UIDataSettingsMachineDisplay::CaptureMode_AudioOnly)) ? "true" : "false");
+    optionValues.push_back("low");
 
     QVector<UIDataSettingsMachineDisplay::VideoCaptureOption> videoCaptureOptionVector;
     videoCaptureOptionVector.push_back(UIDataSettingsMachineDisplay::VideoCaptureOption_VC);
     videoCaptureOptionVector.push_back(UIDataSettingsMachineDisplay::VideoCaptureOption_AC);
+    videoCaptureOptionVector.push_back(UIDataSettingsMachineDisplay::VideoCaptureOption_AC_Profile);
 
     newDisplayData.m_strVideoCaptureOptions = UIDataSettingsMachineDisplay::setVideoCaptureOptionEnabled(m_pCache->base().m_strVideoCaptureOptions,
                                                                                                          videoCaptureOptionVector,
-                                                                                                         flagsVector);
+                                                                                                         optionValues);
 
     /* Cache new display data: */
@@ -1148,5 +1129,5 @@
         AssertPtrReturnVoid(m_pSliderVideoCaptureQuality);
         {
-            /* Configure combo-box: */
+            /* Configure quality related widget: */
             m_pContainerLayoutSliderVideoCaptureQuality->setColumnStretch(1, 4);
             m_pContainerLayoutSliderVideoCaptureQuality->setColumnStretch(3, 5);
@@ -1167,6 +1148,6 @@
             /* Configure editor: */
             vboxGlobal().setMinimumWidthAccordingSymbolCount(m_pEditorVideoCaptureBitRate, 5);
-            m_pEditorVideoCaptureBitRate->setMinimum(32);
-            m_pEditorVideoCaptureBitRate->setMaximum(2048);
+            m_pEditorVideoCaptureBitRate->setMinimum(VIDEO_CAPTURE_BIT_RATE_MIN);
+            m_pEditorVideoCaptureBitRate->setMaximum(VIDEO_CAPTURE_BIT_RATE_MAX);
         }
     }
