VirtualBox

Changeset 96141 in vbox for trunk/src/VBox/Main/xml


Ignore:
Timestamp:
Aug 11, 2022 3:37:19 PM (2 years ago)
Author:
vboxsync
Message:

Recording/Main:

  • Renamed RecordingVideoScalingMethod -> RecordingVideoScalingMode (to match the other enums).
  • Renamed RecordingVideoRateControlMode -> RecordingRateControlMode, as this also can apply to audio codecs.
  • Added ABR (average bitrate) mode to RecordingRateControlMode.

IRecordingScreenSettings:

  • Added audioRateControlMode.
  • Added videoScalingMode.

ISystemProperties:

  • Renamed supportedRecordingVSMethods to supportedRecordingVSModes (to match RecordingVideoScalingMode).
  • Added supportedRecordingARCModes.

Renamed com::settings::RecordingScreenSettings.Audio.enmAudioCodec -> .enmCodec (Doppelmoppel).

More documentation.

​bugref:10275

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/xml/Settings.cpp

    r96134 r96141  
    30193019    Video.enmCodec       = RecordingVideoCodec_VP8;
    30203020    Video.enmDeadline    = RecordingCodecDeadline_Default;
     3021    Video.enmRateCtlMode = RecordingRateControlMode_VBR;
     3022    Video.enmScalingMode = RecordingVideoScalingMode_None;
    30213023    Video.ulWidth        = 1024;
    30223024    Video.ulHeight       = 768;
    30233025    Video.ulRate         = 512;
    30243026    Video.ulFPS          = 25;
    3025     Audio.enmAudioCodec  = RecordingAudioCodec_Opus;
     3027    Audio.enmCodec       = RecordingAudioCodec_Opus;
    30263028    Audio.enmDeadline    = RecordingCodecDeadline_Default;
     3029    Audio.enmRateCtlMode = RecordingRateControlMode_VBR;
    30273030    Audio.cBits          = 16;
    30283031    Audio.cChannels      = 2;
     
    30523055           && Video.enmCodec                                  == RecordingVideoCodec_VP8
    30533056           && Video.enmDeadline                               == RecordingCodecDeadline_Default
     3057           && Video.enmRateCtlMode                            == RecordingRateControlMode_VBR
     3058           && Video.enmScalingMode                            == RecordingVideoScalingMode_None
    30543059           && Video.ulWidth                                   == 1024
    30553060           && Video.ulHeight                                  == 768
    30563061           && Video.ulRate                                    == 512
    30573062           && Video.ulFPS                                     == 25
    3058            && Audio.enmAudioCodec                             == RecordingAudioCodec_Opus
     3063           && Audio.enmCodec                                  == RecordingAudioCodec_Opus
    30593064           && Audio.enmDeadline                               == RecordingCodecDeadline_Default
     3065           && Audio.enmRateCtlMode                            == RecordingRateControlMode_VBR
    30603066           && Audio.cBits                                     == 16
    30613067           && Audio.cChannels                                 == 2
     
    31003106           && Video.ulRate        == d.Video.ulRate
    31013107           && Video.ulFPS         == d.Video.ulFPS
    3102            && Audio.enmAudioCodec == d.Audio.enmAudioCodec
     3108           && Audio.enmCodec      == d.Audio.enmCodec
    31033109           && Audio.enmDeadline   == d.Audio.enmDeadline
    31043110           && Audio.cBits         == d.Audio.cBits
     
    62526258
    62536259            (*itScreen)->getAttributeValue("enabled",   screenSettings.fEnabled);
    6254             Utf8Str strFeatures;
    6255             (*itScreen)->getAttributeValue("featuresEnabled", strFeatures);
    6256             RecordingScreenSettings::featuresFromString(strFeatures, screenSettings.featureMap);
     6260            Utf8Str strTemp;
     6261            (*itScreen)->getAttributeValue("featuresEnabled", strTemp);
     6262            RecordingScreenSettings::featuresFromString(strTemp, screenSettings.featureMap);
    62576263            (*itScreen)->getAttributeValue("maxTimeS",  screenSettings.ulMaxTimeS);
    62586264            (*itScreen)->getAttributeValue("options",   screenSettings.strOptions);
     
    62646270                                      N_("Not supported Recording/@dest attribute '%#x'"), screenSettings.enmDest);
    62656271            (*itScreen)->getAttributeValue("maxSizeMB", screenSettings.File.ulMaxSizeMB);
    6266 
     6272            if ((*itScreen)->getAttributeValue("videoCodec", strTemp)) /* Stick with default if not set. */
     6273                RecordingScreenSettings::videoCodecFromString(strTemp, screenSettings.Video.enmCodec);
     6274            (*itScreen)->getAttributeValue("videoScalingMode", (uint32_t &)screenSettings.Video.enmScalingMode);
    62676275            (*itScreen)->getAttributeValue("videoDeadline", (uint32_t &)screenSettings.Video.enmDeadline);
    62686276            (*itScreen)->getAttributeValue("horzRes",       screenSettings.Video.ulWidth);
     
    62716279            (*itScreen)->getAttributeValue("fps",           screenSettings.Video.ulFPS);
    62726280
     6281            if ((*itScreen)->getAttributeValue("audioCodec", strTemp)) /* Stick with default if not set. */
     6282                RecordingScreenSettings::audioCodecFromString(strTemp, screenSettings.Audio.enmCodec);
    62736283            (*itScreen)->getAttributeValue("audioDeadline", (uint32_t &)screenSettings.Audio.enmDeadline);
    62746284            (*itScreen)->getAttributeValue("audioHz",       (uint32_t &)screenSettings.Audio.uHz);
     
    82868296        xml::ElementNode *pelmRecording = elmParent.createChild("Recording");
    82878297
    8288         if (recordingSettings.common.fEnabled)
     8298        if (!recordingSettings.common.areDefaultSettings())
     8299        {
    82898300            pelmRecording->setAttribute("enabled", recording.common.fEnabled);
     8301        }
    82908302
    82918303        /* Only serialize screens which have non-default settings. */
     
    83128324                pelmScreen->setAttribute("id",                  itScreen->first); /* The key equals the monitor ID. */
    83138325                pelmScreen->setAttribute("enabled",             itScreen->second.fEnabled);
    8314                 com::Utf8Str strFeatures;
    8315                 RecordingScreenSettings::featuresToString(itScreen->second.featureMap, strFeatures);
    8316                 pelmScreen->setAttribute("featuresEnabled",     strFeatures);
     8326                com::Utf8Str strTemp;
     8327                RecordingScreenSettings::featuresToString(itScreen->second.featureMap, strTemp);
     8328                pelmScreen->setAttribute("featuresEnabled",     strTemp);
    83178329                if (itScreen->second.ulMaxTimeS)
    83188330                    pelmScreen->setAttribute("maxTimeS",        itScreen->second.ulMaxTimeS);
     
    83258337                    pelmScreen->setAttribute("maxSizeMB",       itScreen->second.File.ulMaxSizeMB);
    83268338
     8339                RecordingScreenSettings::videoCodecToString(itScreen->second.Video.enmCodec, strTemp);
     8340                pelmScreen->setAttribute("videoCodec",          strTemp);
    83278341                if (itScreen->second.Video.enmDeadline != RecordingCodecDeadline_Default)
    83288342                    pelmScreen->setAttribute("videoDeadline",   itScreen->second.Video.enmDeadline);
     8343                if (itScreen->second.Video.enmScalingMode != RecordingVideoScalingMode_None)
     8344                    pelmScreen->setAttribute("videoScalingMode",itScreen->second.Video.enmScalingMode);
    83298345                if (   itScreen->second.Video.ulWidth  != 1024
    83308346                    || itScreen->second.Video.ulHeight != 768)
     
    83388354                    pelmScreen->setAttribute("fps",             itScreen->second.Video.ulFPS);
    83398355
     8356                RecordingScreenSettings::audioCodecToString(itScreen->second.Audio.enmCodec, strTemp);
     8357                pelmScreen->setAttribute("audioCodec",          strTemp);
    83408358                if (itScreen->second.Audio.enmDeadline != RecordingCodecDeadline_Default)
    83418359                    pelmScreen->setAttribute("audioDeadline",   itScreen->second.Audio.enmDeadline);
     
    83568374        xml::ElementNode *pelmVideoCapture = elmParent.createChild("VideoCapture");
    83578375
    8358         if (recording.common.fEnabled)
     8376        if (!recordingSettings.common.areDefaultSettings())
     8377        {
    83598378            pelmVideoCapture->setAttribute("enabled", recording.common.fEnabled);
     8379        }
    83608380
    83618381        /* Convert the enabled screens to the former uint64_t bit array and vice versa. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette