VirtualBox

Changeset 44758 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Feb 20, 2013 11:45:18 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
83867
Message:

include,ExtPacks\Puel\UsbWebcam,Main,VRDP: emulated USB webcam updates.

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r44528 r44758  
    328328#define VRDE_VIDEOIN_CTRLSEL_VS(a) VRDE_VIDEOIN_CTRLSEL_MAKE(a, 0x04)
    329329#define VRDE_VIDEOIN_CTRLSEL_HW(a) VRDE_VIDEOIN_CTRLSEL_MAKE(a, 0x05)
     330#define VRDE_VIDEOIN_CTRLSEL_PROT(a) VRDE_VIDEOIN_CTRLSEL_MAKE(a, 0x06)
    330331
    331332#define VRDE_VIDEOIN_CTRLSEL_VC_VIDEO_POWER_MODE_CONTROL   VRDE_VIDEOIN_CTRLSEL_VC(0x01)
     
    381382#define VRDE_VIDEOIN_CTRLSEL_HW_BUTTON                    VRDE_VIDEOIN_CTRLSEL_HW(0x01)
    382383
     384#define VRDE_VIDEOIN_CTRLSEL_PROT_PING                    VRDE_VIDEOIN_CTRLSEL_PROT(0x01)
     385#define VRDE_VIDEOIN_CTRLSEL_PROT_SAMPLING                VRDE_VIDEOIN_CTRLSEL_PROT(0x02)
     386#define VRDE_VIDEOIN_CTRLSEL_PROT_FRAMES                  VRDE_VIDEOIN_CTRLSEL_PROT(0x03)
     387
    383388typedef struct VRDEVIDEOINCTRL_VIDEO_POWER_MODE
    384389{
     
    673678    VRDEVIDEOINCTRLHDR hdr;
    674679    uint8_t u8Pressed;
    675 } VRDEVIDEOINCTRL_CT_HW_BUTTON;
     680} VRDEVIDEOINCTRL_HW_BUTTON;
     681
     682typedef struct VRDEVIDEOINCTRL_PROT_PING
     683{
     684    VRDEVIDEOINCTRLHDR hdr;
     685    uint32_t u32Timestamp;      /* Set in the request and the same value must be send back in the response. */
     686} VRDEVIDEOINCTRL_PROT_PING;
     687
     688typedef struct VRDEVIDEOINCTRL_PROT_SAMPLING
     689{
     690    VRDEVIDEOINCTRLHDR hdr;
     691    uint32_t fu32SampleStart;   /* Which parameters must be sampled VRDEVIDEOINCTRL_F_PROT_SAMPLING_*. */
     692    uint32_t fu32SampleStop;    /* Which parameters to disable VRDEVIDEOINCTRL_F_PROT_SAMPLING_*.
     693                                 * If both Start and Stop is set, then restart the sampling.
     694                                 */
     695    uint32_t u32PeriodMS;       /* Sampling period in milliseconds. Applies to all samples in fu32SampleStart.
     696                                 * Not mandatory, the actual sampling period may be different.
     697                                 */
     698} VRDEVIDEOINCTRL_PROT_SAMPLING;
     699
     700#define VRDEVIDEOINCTRL_F_PROT_SAMPLING_FRAMES_SOURCE     0x00000001 /* Periodic VRDEVIDEOINCTRL_PROT_FRAMES samples */
     701#define VRDEVIDEOINCTRL_F_PROT_SAMPLING_FRAMES_CLIENT_OUT 0x00000002 /* Periodic VRDEVIDEOINCTRL_PROT_FRAMES samples */
     702
     703typedef struct VRDEVIDEOINCTRL_PROT_FRAMES
     704{
     705    VRDEVIDEOINCTRLHDR hdr;     /* Note: the message should be sent as VRDE_VIDEOIN_FN_CONTROL_NOTIFY. */
     706    uint32_t u32Sample;         /* Which sample is this, one of VRDEVIDEOINCTRL_F_PROT_SAMPLING_*. */
     707    uint32_t u32TimestampMS;    /* When the period started, milliseconds since the start of sampling. */
     708    uint32_t u32PeriodMS;       /* Actual period during which the frames were counted in milliseconds.
     709                                 * This may be different from VRDEVIDEOINCTRL_PROT_SAMPLING::u32PeriodMS.
     710                                 */
     711    uint32_t u32FramesCount;    /* How many frames per u32PeriodMS milliseconds. */
     712} VRDEVIDEOINCTRL_PROT_FRAMES;
     713
    676714
    677715/*
     
    713751 */
    714752
     753/* The dynamic RDP channel name. */
    715754#define VRDE_VIDEOIN_CHANNEL "RVIDEOIN"
    716755
     
    719758#define VRDE_VIDEOIN_FN_NOTIFY     0x0001 /* Device attach/detach from the client. */
    720759#define VRDE_VIDEOIN_FN_DEVICEDESC 0x0002 /* Query device description. */
    721 #define VRDE_VIDEOIN_FN_CONTROL    0x0003 /* Control the device and start/stop video input. */
    722 #define VRDE_VIDEOIN_FN_CONTROL_NOTIFY 0x0004 /* The client reports a control change, etc. */
     760#define VRDE_VIDEOIN_FN_CONTROL    0x0003 /* Control the device and start/stop video input.
     761                                           * This function is used for sending a request and
     762                                           * the corresponding response.
     763                                           */
     764#define VRDE_VIDEOIN_FN_CONTROL_NOTIFY 0x0004 /* The client reports a control change, etc.
     765                                               * This function indicated that the message is
     766                                               * not a response to a CONTROL request.
     767                                               */
    723768#define VRDE_VIDEOIN_FN_FRAME      0x0005 /* Frame from the client. */
    724769
     
    747792#define VRDE_VIDEOIN_NEGOTIATE_VERSION 1
    748793
    749 #define VRDE_VIDEOIN_NEGOTIATE_CAP_VOID 0
     794/* VRDEVIDEOINMSG_NEGOTIATE::fu32Capabilities */
     795#define VRDE_VIDEOIN_NEGOTIATE_CAP_VOID 0x00000000
     796#define VRDE_VIDEOIN_NEGOTIATE_CAP_PROT 0x00000001 /* Supports VRDE_VIDEOIN_CTRLSEL_PROT_* controls. */
    750797
    751798typedef struct VRDEVIDEOINMSG_NEGOTIATE
     
    763810 * already connected to the client when the VIDEOIN channel is established.
    764811 */
    765 #define VRDE_VIDEOIN_NOTIFY_ATTACH 0
    766 #define VRDE_VIDEOIN_NOTIFY_DETACH 1
     812#define VRDE_VIDEOIN_NOTIFY_EVENT_ATTACH 0
     813#define VRDE_VIDEOIN_NOTIFY_EVENT_DETACH 1
    767814
    768815typedef struct VRDEVIDEOINMSG_NOTIFY
    769816{
    770817    VRDEVIDEOINMSGHDR hdr;
    771     uint32_t u32NotifyEvent; /* VRDE_VIDEOIN_NOTIFY_* */
     818    uint32_t u32NotifyEvent; /* VRDE_VIDEOIN_NOTIFY_EVENT_* */
    772819    /* Event specific data may follow. The underlying protocol provides the length of the message. */
    773820} VRDEVIDEOINMSG_NOTIFY;
     
    906953typedef struct VRDEVIDEOINNOTIFYATTACH
    907954{
    908    VRDEVIDEOINDEVICEHANDLE deviceHandle;
     955    VRDEVIDEOINDEVICEHANDLE deviceHandle;
     956    uint32_t u32Version;       /* VRDE_VIDEOIN_NEGOTIATE_VERSION */
     957    uint32_t fu32Capabilities; /* VRDE_VIDEOIN_NEGOTIATE_CAP_* */
    909958} VRDEVIDEOINNOTIFYATTACH;
    910959
    911960typedef struct VRDEVIDEOINNOTIFYDETACH
    912961{
    913    VRDEVIDEOINDEVICEHANDLE deviceHandle;
     962    VRDEVIDEOINDEVICEHANDLE deviceHandle;
    914963} VRDEVIDEOINNOTIFYDETACH;
     964
     965/* Notification codes, */
     966#define VRDE_VIDEOIN_NOTIFY_ID_ATTACH 0
     967#define VRDE_VIDEOIN_NOTIFY_ID_DETACH 1
    915968
    916969
     
    918971typedef struct VRDEVIDEOINCALLBACKS
    919972{
    920     /** The header. */
     973    /* The header. */
    921974    VRDEINTERFACEHDR header;
    922975
  • trunk/include/VBox/vmm/pdmwebcaminfs.h

    r44337 r44758  
    5656
    5757
    58 #define PDMIWEBCAMUP_IID "7921e96b-b8e2-4173-a73d-787620fc3cab"
     58#define PDMIWEBCAMUP_IID "476c5d41-7bd1-4997-825e-722a72577af3"
    5959typedef struct PDMIWEBCAMUP *PPDMIWEBCAMUP;
    6060typedef struct PDMIWEBCAMUP
     
    6767     * @param pDeviceDesc  The device description.
    6868     * @param cbDeviceDesc The size of the device description.
     69     * @param u32Version   The remote video input protocol version.
     70     * @param fu32Capabilities The remote video input protocol capabilities.
    6971     */
    7072    DECLR3CALLBACKMEMBER(int, pfnWebcamUpAttached,(PPDMIWEBCAMUP pInterface,
    7173                                                   uint64_t u64DeviceId,
    7274                                                   const PDMIWEBCAM_DEVICEDESC *pDeviceDesc,
    73                                                    uint32_t cbDeviceDesc));
     75                                                   uint32_t cbDeviceDesc,
     76                                                   uint32_t u32Version,
     77                                                   uint32_t fu32Capabilities));
    7478
    7579    /*
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