VirtualBox

Changeset 75251 in vbox for trunk/src/VBox/Main/idl


Ignore:
Timestamp:
Nov 5, 2018 5:55:29 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
126353
Message:

Capturing: Separated capturing settings into new interfaces ICaptureSettings and ICaptureScreenSettings to unload stuff from IMachine; a lot of internal interface / code cleanups. Also see #9286. Work in progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r75044 r75251  
    46894689  </interface>
    46904690
     4691  <enum
     4692    name="CaptureDestination"
     4693    uuid="E54603A9-6751-4255-93F8-C69E61693391"
     4694    >
     4695    <desc>
     4696      Capturing destination enumeration.
     4697    </desc>
     4698
     4699    <const name="None"                  value="0">
     4700      <desc>No destination.</desc>
     4701    </const>
     4702    <const name="File"                  value="1">
     4703      <desc>Destination is a regular file.</desc>
     4704    </const>
     4705  </enum>
     4706
     4707  <enum
     4708    name="CaptureFeature"
     4709    uuid="F606CDDB-91B2-4E41-9DFE-4713D4DBA96F"
     4710    >
     4711    <desc>
     4712      Capturing features enumeration.
     4713    </desc>
     4714
     4715    <const name="None"                  value="0">
     4716      <desc>No feature set.</desc>
     4717    </const>
     4718    <const name="Video"                 value="1">
     4719      <desc>Video capturing.</desc>
     4720    </const>
     4721    <const name="Audio"                 value="2">
     4722      <desc>Audio capturing.</desc>
     4723    </const>
     4724  </enum>
     4725
     4726  <enum
     4727    name="CaptureAudioCodec"
     4728    uuid="9B80C37F-7984-412C-A755-C18FE5859554"
     4729    >
     4730    <desc>
     4731      Capturing audio codec enumeration.
     4732    </desc>
     4733
     4734    <const name="None"                  value="0">
     4735      <desc>No codec set.</desc>
     4736    </const>
     4737    <const name="WavPCM"                value="1">
     4738      <desc>WAV format, linear PCM, uncompressed.
     4739        Not implemented yet.</desc>
     4740    </const>
     4741    <const name="Opus"                  value="2">
     4742      <desc>Opus Audio.</desc>
     4743    </const>
     4744  </enum>
     4745
     4746  <enum
     4747    name="CaptureVideoCodec"
     4748    uuid="98BBC021-E119-497D-8C66-4336D539A8D6"
     4749    >
     4750    <desc>
     4751      Capturing video codec enumeration.
     4752    </desc>
     4753
     4754    <const name="None"                  value="0">
     4755      <desc>No codec set.</desc>
     4756    </const>
     4757    <const name="VP8"                   value="1">
     4758      <desc>VP8 codec.</desc>
     4759    </const>
     4760    <const name="VP9"                   value="2">
     4761      <desc>VP9 codec. Not implemented yet.</desc>
     4762    </const>
     4763    <const name="AV1"                   value="3">
     4764      <desc>AV1 codec. Not implemented yet.</desc>
     4765    </const>
     4766  </enum>
     4767
     4768  <interface
     4769    name="ICaptureScreenSettings" extends="$unknown"
     4770    uuid="9C8FE192-DD9A-45E9-B17B-2BA23B5951F7"
     4771    wsmap="managed"
     4772    >
     4773
     4774    <desc>
     4775      The ICaptureScreenSettings interface represents capturing settings of a
     4776      singke virtual screen. This is used only in the <link to="ICaptureSettings" />
     4777      interface.
     4778    </desc>
     4779
     4780    <method name="isFeatureEnabled">
     4781      <desc>TODO</desc>
     4782      <param name="feature" type="CaptureFeature" dir="in">
     4783        <desc>TODO</desc>
     4784      </param>
     4785      <param name="enabled" type="boolean" dir="return">
     4786        <desc>TODO</desc>
     4787      </param>
     4788    </method>
     4789
     4790    <attribute name="enabled" type="boolean" default="false">
     4791      <desc>
     4792        This setting determines whether this screen is enabled while capturing.
     4793      </desc>
     4794    </attribute>
     4795
     4796    <attribute name="features" type="unsigned long">
     4797      <desc>This setting determines all enabled capturing features for this
     4798        screen.</desc>
     4799    </attribute>
     4800
     4801    <attribute name="destination" type="CaptureDestination">
     4802      <desc>This setting determines the capturing destination for this
     4803        screen.</desc>
     4804    </attribute>
     4805
     4806    <attribute name="fileName" type="wstring">
     4807      <desc>
     4808        This setting determines the filename VirtualBox uses to save
     4809        the recorded content. This setting cannot be changed while video
     4810        capturing is enabled.
     4811        <note>
     4812          When setting this attribute, the specified path has to be
     4813          absolute (full path). When reading this attribute, a full path is
     4814          always returned.
     4815        </note>
     4816      </desc>
     4817    </attribute>
     4818
     4819    <attribute name="maxTime" type="unsigned long" default="0">
     4820      <desc>
     4821        This setting defines the maximum amount of time in milliseconds
     4822        to capture. Capturing will stop as soon as the defined time
     4823        interval has elapsed. If this value is zero, capturing will not be
     4824        limited by time. This setting cannot be changed while capturing is
     4825        enabled.
     4826      </desc>
     4827    </attribute>
     4828
     4829    <attribute name="maxFileSize" type="unsigned long" default="0">
     4830      <desc>
     4831        This setting determines the maximal number of captured file
     4832        size in MB. Capturing will stop as soon as the file size has
     4833        reached the defined value. If this value is zero, capturing
     4834        will not be limited by the file size. This setting cannot be changed
     4835        while capturing is enabled.
     4836      </desc>
     4837    </attribute>
     4838
     4839    <attribute name="options" type="wstring">
     4840      <desc>
     4841        This setting contains any additional capturing options
     4842        required in comma-separated key=value format. This setting
     4843        cannot be changed while capturing is enabled.
     4844
     4845        The following keys and their corresponding values are available:
     4846
     4847        <table>
     4848          <tr>
     4849            <td>ac_enabled</td>
     4850            <td>Enables audio recording when set to <pre>true</pre>, otherwise
     4851                set to <pre>false</pre> to disable.
     4852
     4853                <b>This feature is considered being experimental.</b></td>
     4854          </tr>
     4855        </table>
     4856
     4857      </desc>
     4858    </attribute>
     4859
     4860    <attribute name="videoWidth" type="unsigned long" default="1024">
     4861      <desc>
     4862        This setting determines the horizontal resolution of the recorded
     4863        video. This setting cannot be changed while capturing is enabled.
     4864      </desc>
     4865    </attribute>
     4866
     4867    <attribute name="videoHeight" type="unsigned long" default="768">
     4868      <desc>
     4869        This setting determines the vertical resolution of the recorded
     4870        video. This setting cannot be changed while capturing is enabled.
     4871      </desc>
     4872    </attribute>
     4873
     4874    <attribute name="videoRate" type="unsigned long" default="512">
     4875      <desc>
     4876        This setting determines the bitrate in kilobits per second.
     4877        Increasing this value makes the video look better for the
     4878        cost of an increased file size. This setting cannot be changed
     4879        while capturing is enabled.
     4880      </desc>
     4881    </attribute>
     4882
     4883    <attribute name="videoFPS" type="unsigned long" default="25">
     4884      <desc>
     4885        This setting determines the maximum number of frames per second.
     4886        Frames with a higher frequency will be skipped. Reducing this
     4887        value increases the number of skipped frames and reduces the
     4888        file size. This setting cannot be changed while capturing
     4889        is enabled.
     4890      </desc>
     4891    </attribute>
     4892
     4893  </interface>
     4894
     4895  <interface
     4896    name="ICaptureSettings" extends="$unknown"
     4897    uuid="F35B5C06-F6F0-475D-908A-F5FECC820043"
     4898    wsmap="managed"
     4899    >
     4900
     4901    <desc>
     4902      The ICaptureSettings interface represents capturing settings of the virtual
     4903      machine. This is used only in the <link to="IMachine::CaptureSettings" />
     4904      attribute.
     4905    </desc>
     4906
     4907    <method name="getScreenSettings">
     4908      <desc>TODO</desc>
     4909      <param name="screenId" type="unsigned long" dir="in">
     4910        <desc>TODO</desc>
     4911      </param>
     4912      <param name="captureScreenSettings" type="ICaptureScreenSettings" dir="return">
     4913        <desc>TODO</desc>
     4914      </param>
     4915    </method>
     4916
     4917    <attribute name="enabled" type="boolean" default="false">
     4918      <desc>
     4919        This setting determines whether VirtualBox uses capturing to record a
     4920        VM session.</desc>
     4921    </attribute>
     4922
     4923    <attribute name="screens" type="ICaptureScreenSettings" readonly="yes" safearray="yes">
     4924      <desc>
     4925        This setting returns an array for capturing settings of all configured
     4926        virtual screens.</desc>
     4927    </attribute>
     4928
     4929  </interface>
     4930
    46914931  <interface
    46924932    name="IPCIAddress" extends="$unknown"
     
    48835123  <interface
    48845124    name="IMachine" extends="$unknown"
    4885     uuid="fecae8e8-46da-44cf-8fc0-2ba9aeb796a7"
     5125    uuid="316A9802-03A5-44BE-B2A6-51261A021353"
    48865126    wsmap="managed"
    48875127    wrap-hint-server-addinterfaces="IInternalMachineControl"
     
    51645404    </attribute>
    51655405
    5166     <attribute name="videoCaptureEnabled" type="boolean" default="false">
    5167       <desc>
    5168         This setting determines whether VirtualBox uses video capturing to
    5169         record a VM session.</desc>
    5170     </attribute>
    5171 
    5172     <attribute name="videoCaptureScreens" type="boolean" safearray="yes">
    5173       <desc>
    5174         This setting determines for which screens video capturing is
    5175         enabled.</desc>
    5176     </attribute>
    5177 
    5178     <attribute name="videoCaptureFile" type="wstring">
    5179       <desc>
    5180         This setting determines the filename VirtualBox uses to save
    5181         the recorded content. This setting cannot be changed while video
    5182         capturing is enabled.
    5183         <note>
    5184           When setting this attribute, the specified path has to be
    5185           absolute (full path). When reading this attribute, a full path is
    5186           always returned.
    5187         </note>
    5188       </desc>
    5189     </attribute>
    5190 
    5191     <attribute name="videoCaptureWidth" type="unsigned long" default="640">
    5192       <desc>
    5193         This setting determines the horizontal resolution of the recorded
    5194         video. This setting cannot be changed while video capturing is
    5195         enabled.
    5196       </desc>
    5197     </attribute>
    5198 
    5199     <attribute name="videoCaptureHeight" type="unsigned long" default="480">
    5200       <desc>
    5201         This setting determines the vertical resolution of the recorded
    5202         video. This setting cannot be changed while video capturing is
    5203         enabled.
    5204       </desc>
    5205     </attribute>
    5206 
    5207     <attribute name="videoCaptureRate" type="unsigned long" default="512">
    5208       <desc>
    5209         This setting determines the bitrate in kilobits per second.
    5210         Increasing this value makes the video look better for the
    5211         cost of an increased file size. This setting cannot be changed
    5212         while video capturing is enabled.
    5213       </desc>
    5214     </attribute>
    5215 
    5216     <attribute name="videoCaptureFPS" type="unsigned long" default="25">
    5217       <desc>
    5218         This setting determines the maximum number of frames per second.
    5219         Frames with a higher frequency will be skipped. Reducing this
    5220         value increases the number of skipped frames and reduces the
    5221         file size. This setting cannot be changed while video capturing
    5222         is enabled.
    5223       </desc>
    5224     </attribute>
    5225 
    5226     <attribute name="videoCaptureMaxTime" type="unsigned long" default="0">
    5227       <desc>
    5228         This setting determines the maximum amount of time in milliseconds
    5229         the video capture will work for. The capture stops as the defined time
    5230         interval  has elapsed. If this value is zero the capturing will not be
    5231         limited by time. This setting cannot be changed while video capturing is
    5232         enabled.
    5233       </desc>
    5234     </attribute>
    5235 
    5236     <attribute name="videoCaptureMaxFileSize" type="unsigned long" default="0">
    5237       <desc>
    5238         This setting determines the maximal number of captured video file
    5239         size in MB. The capture stops as the captured video file size
    5240         has reached the defined. If this value is zero the capturing
    5241         will not be limited by file size. This setting cannot be changed
    5242         while video capturing is enabled.
    5243       </desc>
    5244     </attribute>
    5245 
    5246     <attribute name="videoCaptureOptions" type="wstring">
    5247       <desc>
    5248         This setting contains any additional video capture options
    5249         required in comma-separated key=value format. This setting
    5250         cannot be changed while video capturing is enabled.
    5251 
    5252         The following keys and their corresponding values are available:
    5253 
    5254         <table>
    5255           <tr>
    5256             <td>ac_enabled</td>
    5257             <td>Enables audio recording when set to <pre>true</pre>, otherwise
    5258                 set to <pre>false</pre> to disable.
    5259 
    5260                 <b>This feature is considered being experimental.</b></td>
    5261           </tr>
    5262         </table>
    5263 
    5264       </desc>
    5265     </attribute>
    5266 
    52675406    <attribute name="BIOSSettings" type="IBIOSSettings" readonly="yes">
    52685407      <desc>Object containing all BIOS settings.</desc>
     5408    </attribute>
     5409
     5410    <attribute name="captureSettings" type="ICaptureSettings" readonly="yes">
     5411      <desc>Object containing all capturing settings.</desc>
    52695412    </attribute>
    52705413
     
    2041120554  <interface
    2041220555    name="IInternalSessionControl" extends="$unknown"
    20413     uuid="747e397e-69c8-45a0-88d9-f7f070960718"
     20556    uuid="96BDA9B7-92E6-402F-AA8C-2E77818DAE6E"
    2041420557    internal="yes"
    2041520558    wsmap="suppress"
     
    2071120854    </method>
    2071220855
    20713     <method name="onVideoCaptureChange">
    20714       <desc>
    20715         Triggered when video capture settings have changed.
     20856    <method name="onCaptureChange">
     20857      <desc>
     20858        Triggered when capture settings have changed.
    2071620859      </desc>
    2071720860    </method>
     
    2289523038      </desc>
    2289623039    </const>
    22897     <const name="OnVideoCaptureChanged" value="91">
    22898       <desc>
    22899         See <link to="IVideoCaptureChangedEvent">IVideoCapturedChangeEvent</link>.
     23040    <const name="OnCaptureChanged" value="91">
     23041      <desc>
     23042        See <link to="ICaptureChangedEvent">ICapturedChangeEvent</link>.
    2290023043      </desc>
    2290123044    </const>
     
    2428224425
    2428324426  <interface
    24284     name="IVideoCaptureChangedEvent" extends="IEvent"
    24285     uuid="6215d169-25dd-4719-ab34-c908701efb58"
    24286     wsmap="managed" autogen="VBoxEvent" id="OnVideoCaptureChanged"
     24427    name="ICaptureChangedEvent" extends="IEvent"
     24428    uuid="C694687C-F432-4435-B457-F2E55B845C81"
     24429    wsmap="managed" autogen="VBoxEvent" id="OnCaptureChanged"
    2428724430    >
    2428824431    <desc>
    24289       Notification when video capture settings have changed.
     24432      Notification when capture settings have changed.
    2429024433    </desc>
    2429124434    <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/>
Note: See TracChangeset for help on using the changeset viewer.

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