VirtualBox

Changeset 45124 in vbox for trunk/include/VBox/RemoteDesktop


Ignore:
Timestamp:
Mar 21, 2013 11:51:11 AM (12 years ago)
Author:
vboxsync
Message:

VRDEVideoIn.h,Extpacks/Puel/UsbWebcam: streaming updates, logging, cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/RemoteDesktop/VRDEVideoIn.h

    r44826 r45124  
    278278 * If a control request can not be fulfilled, then VRDE_VIDEOIN_CTRLHDR_F_FAIL
    279279 * will be set and u8Status contains the error code. This replaces the VC_REQUEST_ERROR_CODE_CONTROL.
     280 *
     281 * If the client receives an unsupported control, then the client must ignore it.
     282 * That is the control request must not affect the client in any way.
     283 * The client may send a VRDEVIDEOINCTRLHDR response for the unsupported control with:
     284 *   u16ControlSelector = the received value;
     285 *   u16RequestType = the received value;
     286 *   u16ParmSize = 0;
     287 *   u8Flags = VRDE_VIDEOIN_CTRLHDR_F_FAIL;
     288 *   u8Status = VRDE_VIDEOIN_CTRLHDR_STATUS_INVALIDCONTROL;
    280289 */
    281290
     
    313322#define VRDE_VIDEOIN_CTRLHDR_STATUS_INVALIDUNIT    0x05 /* Invalid unit */
    314323#define VRDE_VIDEOIN_CTRLHDR_STATUS_INVALIDCONTROL 0x06 /* Invalid control */
    315 #define VRDE_VIDEOIN_CTRLHDR_STATUS_INVALIDREQUEST 0x07 /* Invalid Request */
     324#define VRDE_VIDEOIN_CTRLHDR_STATUS_INVALIDREQUEST 0x07 /* Invalid request */
    316325#define VRDE_VIDEOIN_CTRLHDR_STATUS_UNKNOWN        0xFF /* Unknown */
    317326
     
    372381
    373382#define VRDE_VIDEOIN_CTRLSEL_VS_UNDEFINED                 VRDE_VIDEOIN_CTRLSEL_VS(0x00)
    374 #define VRDE_VIDEOIN_CTRLSEL_VS_START                     VRDE_VIDEOIN_CTRLSEL_VS(0x01)
    375 #define VRDE_VIDEOIN_CTRLSEL_VS_STOP                      VRDE_VIDEOIN_CTRLSEL_VS(0x02)
     383#define VRDE_VIDEOIN_CTRLSEL_VS_SETUP                     VRDE_VIDEOIN_CTRLSEL_VS(0x01)
     384#define VRDE_VIDEOIN_CTRLSEL_VS_OFF                       VRDE_VIDEOIN_CTRLSEL_VS(0x02)
     385#define VRDE_VIDEOIN_CTRLSEL_VS_ON                        VRDE_VIDEOIN_CTRLSEL_VS(0x03)
    376386#define VRDE_VIDEOIN_CTRLSEL_VS_STILL_IMAGE_TRIGGER       VRDE_VIDEOIN_CTRLSEL_VS(0x05)
    377387#define VRDE_VIDEOIN_CTRLSEL_VS_STREAM_ERROR_CODE         VRDE_VIDEOIN_CTRLSEL_VS(0x06)
     
    611621} VRDEVIDEOINCTRL_PU_ANALOG_LOCK_STATUS;
    612622
    613 /* Start sending video frames with this format. */
    614 #define VRDEVIDEOINCTRL_F_VS_START_FID 0x01
    615 #define VRDEVIDEOINCTRL_F_VS_START_EOF 0x02
    616 
    617 typedef struct VRDEVIDEOINCTRL_VS_START
     623/* Set streaming parameters. The actual streaming will be enabled by VS_ON. */
     624#define VRDEVIDEOINCTRL_F_VS_SETUP_FID 0x01
     625#define VRDEVIDEOINCTRL_F_VS_SETUP_EOF 0x02
     626
     627typedef struct VRDEVIDEOINCTRL_VS_SETUP
    618628{
    619629    VRDEVIDEOINCTRLHDR hdr;
    620630    uint8_t u8FormatId;             /* The format id on the client: VRDEVIDEOINFORMATDESC::u8FormatId. */
    621     uint8_t u8FramingInfo;          /* VRDEVIDEOINCTRL_F_VS_START_*. Set by the client. */
     631    uint8_t u8FramingInfo;          /* VRDEVIDEOINCTRL_F_VS_SETUP_*. Set by the client. */
    622632    uint16_t u16Width;
    623633    uint16_t u16Height;
     
    634644                                     */
    635645    uint32_t u32ClockFrequency;     /* @todo just all clocks in 100ns units? */
    636 } VRDEVIDEOINCTRL_VS_START;
     646} VRDEVIDEOINCTRL_VS_SETUP;
    637647
    638648/* Stop sending video frames. */
    639 typedef struct VRDEVIDEOINCTRL_VS_STOP
    640 {
    641     VRDEVIDEOINCTRLHDR hdr;
    642 } VRDEVIDEOINCTRL_VS_STOP;
    643 
    644 typedef struct VRDEVIDEOINCTRL_VS_SYNCH_DELAY
    645 {
    646     VRDEVIDEOINCTRLHDR hdr;
    647     uint16_t u16Delay;
    648 } VRDEVIDEOINCTRL_VS_SYNCH_DELAY;
     649typedef struct VRDEVIDEOINCTRL_VS_OFF
     650{
     651    VRDEVIDEOINCTRLHDR hdr;
     652} VRDEVIDEOINCTRL_VS_OFF;
     653
     654/* Start sending video frames with parameters set by VS_SETUP. */
     655typedef struct VRDEVIDEOINCTRL_VS_ON
     656{
     657    VRDEVIDEOINCTRLHDR hdr;
     658} VRDEVIDEOINCTRL_VS_ON;
    649659
    650660typedef struct VRDEVIDEOINCTRL_VS_STILL_IMAGE_TRIGGER
     
    653663    uint8_t u8Trigger;
    654664} VRDEVIDEOINCTRL_VS_STILL_IMAGE_TRIGGER;
     665
     666typedef struct VRDEVIDEOINCTRL_VS_STREAM_ERROR_CODE
     667{
     668    VRDEVIDEOINCTRLHDR hdr;
     669    uint8_t u8StreamErrorCode;
     670} VRDEVIDEOINCTRL_VS_STREAM_ERROR_CODE;
    655671
    656672typedef struct VRDEVIDEOINCTRL_VS_GENERATE_KEY_FRAME
     
    667683} VRDEVIDEOINCTRL_VS_UPDATE_FRAME_SEGMENT;
    668684
    669 typedef struct VRDEVIDEOINCTRL_VS_STREAM_ERROR_CODE
    670 {
    671     VRDEVIDEOINCTRLHDR hdr;
    672     uint8_t u8StreamErrorCode;
    673 } VRDEVIDEOINCTRL_VS_STREAM_ERROR_CODE;
     685typedef struct VRDEVIDEOINCTRL_VS_SYNCH_DELAY
     686{
     687    VRDEVIDEOINCTRLHDR hdr;
     688    uint16_t u16Delay;
     689} VRDEVIDEOINCTRL_VS_SYNCH_DELAY;
    674690
    675691/* A hardware button was pressed/released on the device. */
     
    716732 * Payload transfers. How frames are sent to the server:
    717733 * the client send a PAYLOAD packet, which has the already set format.
    718  * The server enables the transfers by sending VRDEVIDEOINCTRL_VS_START.
     734 * The server enables the transfers by sending VRDEVIDEOINCTRL_VS_ON.
    719735 */
    720736
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