Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

776 lines
21 KiB

/*
* Copyright (c) 1996 1997, 1998 Philips CE I&C
* FILE PRPCOM.CPP
* DATE 7-1-97
* VERSION 1.00
* AUTHOR M.J. Verberne
* DESCRIPTION Property transfer
* HISTORY
*/
#include <windows.h>
#include <winioctl.h>
#include <olectl.h>
#include <ks.h>
#include <ksmedia.h>
#include <ksguid.h>
#include "enre.h"
#include "debug.h"
#include "prpcom.h"
#include "phvcmext.h"
/*======================== DEFINES =======================================*/
#define FILE_DEVICE_KS 0x0000002f // needed by ks header,
// bug of Microsoft
/*======================== DATA TYPES ====================================*/
typedef struct {
KSPROPERTY_DESCRIPTION PropertyDescription;
KSPROPERTY_MEMBERSHEADER MembersHeader;
ULONG DefaultValue;
} VIDEOPROCAMP_DEFAULTLIST;
typedef struct {
KSPROPERTY_DESCRIPTION PropertyDescription;
KSPROPERTY_MEMBERSHEADER MembersHeader;
KSPROPERTY_STEPPING_LONG SteppingLong;
} VIDEOPROCAMP_MEMBERSLIST;
/*======================== LOCAL FUNCTION DEFINITIONS ====================*/
static BOOL PRPCOM_GetVideoProcAmpPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plValue);
static BOOL PRPCOM_SetVideoProcAmpPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
LONG lValue);
static BOOL PRPCOM_GetVideoProcAmpPropertyRange(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax);
static BOOL PRPCOM_GetCustomPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plValue);
static BOOL PRPCOM_SetCustomPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
LONG lValue);
static BOOL PRPCOM_GetCustomPropertyRange(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax);
static BOOL PRPCOM_ExtDeviceIoControl(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
DWORD dwVfWFlags,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD cbInBufferSize,
LPVOID lpOutBuffer,
DWORD cbOutBufferSize,
LPDWORD pcbReturned);
#ifdef _DEBUG
static void PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyValue(
ULONG ulPropertyId,
PLONG plValue,
BOOL bRet);
static void PRPCOM_Debug_PRPCOM_SetVideoProcAmpPropertyValue(
ULONG ulPropertyId,
LONG lValue,
BOOL bRet);
static void PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyRange(
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax,
BOOL bRet);
static void PRPCOM_Debug_GetVideoProcAmpPropertyIdStr(
ULONG ulPropertyId,
char *PropertyIdStr,
UINT MaxLen);
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyValue(
ULONG ulPropertyId,
PLONG plValue,
BOOL bRet);
static void PRPCOM_Debug_PRPCOM_SetCustomPropertyValue(
ULONG ulPropertyId,
LONG lValue,
BOOL bRet);
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyRange(
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax,
BOOL bRet);
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyIdStr(
ULONG ulPropertyId,
char *PropertyIdStr,
UINT MaxLen);
#endif
/*======================== EXPORTED FUNCTIONS =============================*/
/*-------------------------------------------------------------------------*/
BOOL PRPCOM_HasDeviceChanged(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam)
/*-------------------------------------------------------------------------*/
{
BOOL bRet = TRUE;
bRet = pfnDeviceIoControl (
lParam,
VFW_QUERY_DEV_CHANGED,
0,0,0,0,0,0, 0);
return bRet;
}
/*-------------------------------------------------------------------------*/
BOOL PRPCOM_Get_Value(
GUID PropertySet,
ULONG ulPropertyId,
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
PLONG plValue)
/*-------------------------------------------------------------------------*/
{
BOOL bResult;
if (IsEqualGUID(PropertySet, PROPSETID_VIDCAP_VIDEOPROCAMP))
{
// get VIDEOPROCAMP value
bResult = PRPCOM_GetVideoProcAmpPropertyValue(
pfnDeviceIoControl,
lParam,
ulPropertyId,
plValue);
}
else if (IsEqualGUID(PropertySet, PROPSETID_PHILIPS_CUSTOM_PROP))
{
// get custom value
bResult = PRPCOM_GetCustomPropertyValue(
pfnDeviceIoControl,
lParam,
ulPropertyId,
plValue);
}
else
return FALSE;
return bResult;
}
/*-------------------------------------------------------------------------*/
BOOL PRPCOM_Set_Value(
GUID PropertySet,
ULONG ulPropertyId,
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
LONG lValue)
/*-------------------------------------------------------------------------*/
{
BOOL bResult;
if (IsEqualGUID(PropertySet, PROPSETID_VIDCAP_VIDEOPROCAMP))
{
// set VIDEOPROCAMP value
bResult = PRPCOM_SetVideoProcAmpPropertyValue(
pfnDeviceIoControl,
lParam,
ulPropertyId,
lValue);
}
else if (IsEqualGUID(PropertySet, PROPSETID_PHILIPS_CUSTOM_PROP))
{
// set custom value
bResult = PRPCOM_SetCustomPropertyValue(
pfnDeviceIoControl,
lParam,
ulPropertyId,
lValue);
}
else
return FALSE;
return bResult;
}
/*-------------------------------------------------------------------------*/
BOOL PRPCOM_Get_Range(
GUID PropertySet,
ULONG ulPropertyId,
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
PLONG plMin, PLONG plMax)
/*-------------------------------------------------------------------------*/
{
BOOL bResult;
if (IsEqualGUID(PropertySet, PROPSETID_VIDCAP_VIDEOPROCAMP))
{
// get VIDEOPROCAMP range
bResult = PRPCOM_GetVideoProcAmpPropertyRange(
pfnDeviceIoControl,
lParam,
ulPropertyId,
plMin,
plMax);
}
else if (IsEqualGUID(PropertySet, PROPSETID_PHILIPS_CUSTOM_PROP))
{
// get custom range
bResult = PRPCOM_GetCustomPropertyRange(
pfnDeviceIoControl,
lParam,
ulPropertyId,
plMin,
plMax);
}
else
return FALSE;
return bResult;
}
/*======================== LOCAL FUNCTIONS ================================*/
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_GetVideoProcAmpPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plValue)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_VIDEOPROCAMP_S VideoProperty;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_VIDEOPROCAMP_S) );
VideoProperty.Property.Set = PROPSETID_VIDCAP_VIDEOPROCAMP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_GET;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
if ((bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&VideoProperty,
sizeof(VideoProperty),
&cbRet)))
{
if (plValue != NULL)
*plValue = VideoProperty.Value;
/* if (pulFlags != NULL)
*pulFlags = VideoProperty.Flags;
if (pulCapabilities != NULL)
*pulCapabilities = VideoProperty.Capabilities;*/
}
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyValue(ulPropertyId, plValue, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_SetVideoProcAmpPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
LONG lValue)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_VIDEOPROCAMP_S VideoProperty;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_VIDEOPROCAMP_S) );
VideoProperty.Property.Set = PROPSETID_VIDCAP_VIDEOPROCAMP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_SET;
VideoProperty.Value = lValue;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&VideoProperty,
sizeof(VideoProperty),
&cbRet);
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_SetVideoProcAmpPropertyValue(ulPropertyId, lValue, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_GetVideoProcAmpPropertyRange(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_VIDEOPROCAMP_S VideoProperty;
VIDEOPROCAMP_MEMBERSLIST PropertyList;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_VIDEOPROCAMP_S) );
VideoProperty.Property.Set = PROPSETID_VIDCAP_VIDEOPROCAMP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_BASICSUPPORT;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&PropertyList,
sizeof(PropertyList),
&cbRet);
if (plMin != NULL)
*plMin = PropertyList.SteppingLong.Bounds.SignedMinimum;
if (plMax != NULL)
*plMax = PropertyList.SteppingLong.Bounds.SignedMaximum;
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyRange(ulPropertyId, plMin, plMax, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_GetCustomPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plValue)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_PHILIPS_CUSTOM_PROP_S VideoProperty;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S) );
VideoProperty.Property.Set = PROPSETID_PHILIPS_CUSTOM_PROP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_GET;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
if ((bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&VideoProperty,
sizeof(VideoProperty),
&cbRet)))
{
if (plValue != NULL)
*plValue = VideoProperty.Value;
/* if (pulFlags != NULL)
*pulFlags = VideoProperty.Flags;
if (pulCapabilities != NULL)
*pulCapabilities = VideoProperty.Capabilities;*/
}
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_GetCustomPropertyValue(ulPropertyId, plValue, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_SetCustomPropertyValue(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
LONG lValue)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_PHILIPS_CUSTOM_PROP_S VideoProperty;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S) );
VideoProperty.Property.Set = PROPSETID_PHILIPS_CUSTOM_PROP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_SET;
VideoProperty.Value = lValue;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&VideoProperty,
sizeof(VideoProperty),
&cbRet);
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_SetCustomPropertyValue(ulPropertyId, lValue, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_GetCustomPropertyRange(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax)
/*-------------------------------------------------------------------------*/
{
BOOL bRet;
DWORD cbRet;
KSPROPERTY_PHILIPS_CUSTOM_PROP_S VideoProperty;
VIDEOPROCAMP_MEMBERSLIST PropertyList;
ZeroMemory(&VideoProperty, sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S) );
VideoProperty.Property.Set = PROPSETID_PHILIPS_CUSTOM_PROP;
VideoProperty.Property.Id = ulPropertyId;
VideoProperty.Property.Flags = KSPROPERTY_TYPE_BASICSUPPORT;
VideoProperty.Flags = 0;
VideoProperty.Capabilities = 0;
bRet = PRPCOM_ExtDeviceIoControl(
pfnDeviceIoControl,
lParam,
VFW_USE_DEVICE_HANDLE,
IOCTL_KS_PROPERTY,
&VideoProperty,
sizeof(VideoProperty),
&PropertyList,
sizeof(PropertyList),
&cbRet);
if (plMin != NULL)
*plMin = PropertyList.SteppingLong.Bounds.SignedMinimum;
if (plMax != NULL)
*plMax = PropertyList.SteppingLong.Bounds.SignedMaximum;
#ifdef _DEBUG
PRPCOM_Debug_PRPCOM_GetCustomPropertyRange(ulPropertyId, plMin, plMax, bRet);
#endif
return bRet;
}
/*-------------------------------------------------------------------------*/
static BOOL PRPCOM_ExtDeviceIoControl(
LPFNEXTDEVIO pfnDeviceIoControl,
LPARAM lParam,
DWORD dwVfWFlags,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD cbInBufferSize,
LPVOID lpOutBuffer,
DWORD cbOutBufferSize,
LPDWORD pcbReturned)
/*-------------------------------------------------------------------------*/
{
OVERLAPPED ov;
BOOL bRet;
ov.Offset = 0;
ov.OffsetHigh = 0;
ov.hEvent = CreateEvent( NULL, FALSE, FALSE, NULL );
if (ov.hEvent == (HANDLE) 0)
bRet= FALSE;
else
{
bRet = pfnDeviceIoControl (
lParam,
dwVfWFlags,
dwIoControlCode,
lpInBuffer,
cbInBufferSize,
lpOutBuffer,
cbOutBufferSize,
pcbReturned,
&ov);
if (!bRet && GetLastError() == ERROR_IO_PENDING)
bRet = WaitForSingleObject( ov.hEvent, 2000 ) == WAIT_OBJECT_0;
CloseHandle(ov.hEvent);
}
return bRet;
}
/*======================== DEBUGGING CODE =================================*/
#ifdef _DEBUG
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyValue(
ULONG ulPropertyId,
PLONG plValue,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_GetVideoProcAmpPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_GetVideoProcAmpPropertyValue(%s) --> %s, Value: %li",
PropertyIdStr, RetStr, *plValue);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_SetVideoProcAmpPropertyValue(
ULONG ulPropertyId,
LONG lValue,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_GetVideoProcAmpPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_SetVideoProcAmpPropertyValue(%s, %li) --> %s",
PropertyIdStr, lValue, RetStr);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_GetVideoProcAmpPropertyRange(
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_GetVideoProcAmpPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_GetVideoProcAmpPropertyRange(%s) --> %s, Min: %li, Max : %li",
PropertyIdStr, RetStr, *plMin, *plMax, *plMax);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_GetVideoProcAmpPropertyIdStr(
ULONG ulPropertyId,
char *PropertyIdStr,
UINT MaxLen)
/*-------------------------------------------------------------------------*/
{
if (MaxLen == 0)
return;
switch(ulPropertyId)
{
case KSPROPERTY_VIDEOPROCAMP_COLORENABLE:
strncpy(PropertyIdStr, "COLORENABLE", MaxLen - 1);
break;
case KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION:
strncpy(PropertyIdStr, "BACKLIGHT_COMPENSATION", MaxLen - 1);
break;
case KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS:
strncpy(PropertyIdStr, "BRIGHTNESS", MaxLen - 1);
break;
case KSPROPERTY_VIDEOPROCAMP_CONTRAST:
strncpy(PropertyIdStr, "CONTRAST", MaxLen - 1);
break;
case KSPROPERTY_VIDEOPROCAMP_GAMMA:
strncpy(PropertyIdStr, "GAMMA", MaxLen - 1);
break;
default:
strncpy(PropertyIdStr, "??", MaxLen - 1);
}
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyValue(
ULONG ulPropertyId,
PLONG plValue,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_PRPCOM_GetCustomPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_GetCustomPropertyValue(%s) --> %s, Value: %li",
PropertyIdStr, RetStr, *plValue);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_SetCustomPropertyValue(
ULONG ulPropertyId,
LONG lValue,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_PRPCOM_GetCustomPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_SetCustomPropertyValue(%s, %li) --> %s",
PropertyIdStr, lValue, RetStr);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyRange(
ULONG ulPropertyId,
PLONG plMin,
PLONG plMax,
BOOL bRet)
/*-------------------------------------------------------------------------*/
{
char PropertyIdStr[132], RetStr[132];
PRPCOM_Debug_PRPCOM_GetCustomPropertyIdStr(
ulPropertyId, PropertyIdStr, 132);
strcpy(RetStr, bRet ? "TRUE" : "FALSE");
printf("\nPRPCOM_GetCustomPropertyRange(%s) --> %s, Min: %li, Max : %li",
PropertyIdStr, RetStr, *plMin, *plMax, *plMax);
}
/*-------------------------------------------------------------------------*/
static void PRPCOM_Debug_PRPCOM_GetCustomPropertyIdStr(
ULONG ulPropertyId,
char *PropertyIdStr,
UINT MaxLen)
/*-------------------------------------------------------------------------*/
{
if (MaxLen == 0)
return;
switch(ulPropertyId)
{
case KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE:
strncpy(PropertyIdStr, "WB_MODE", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_SPEED:
strncpy(PropertyIdStr, "WB_SPEED", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_DELAY:
strncpy(PropertyIdStr, "WB_DELAY", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_RED_GAIN:
strncpy(PropertyIdStr, "RED_GAIN", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_BLUE_GAIN:
strncpy(PropertyIdStr, "BLUE_GAIN", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_CONTROL_SPEED:
strncpy(PropertyIdStr, "EXPOSURE_SPEED", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS:
strncpy(PropertyIdStr, "FLICKERLESS", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE:
strncpy(PropertyIdStr, "EXPOSURE_SHUTTER_MODE", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED:
strncpy(PropertyIdStr, "SHUTTERSPEED", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS:
strncpy(PropertyIdStr, "SHUTTERSTATUS", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE:
strncpy(PropertyIdStr, "EXPOSURE_AGC_MODE", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC:
strncpy(PropertyIdStr, "EXPOSURE_AGC_SPEED", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_DRIVERVERSION:
strncpy(PropertyIdStr, "DRIVERVERSION", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE:
strncpy(PropertyIdStr, "FRAMERATE", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT:
strncpy(PropertyIdStr, "VIDEOFORMAT", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE:
strncpy(PropertyIdStr, "SENSORTYPE", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION:
strncpy(PropertyIdStr, "VIDEOCOMPRESSION", MaxLen - 1);
break;
case KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS:
strncpy(PropertyIdStr, "DEFAULTS", MaxLen - 1);
break;
default:
strncpy(PropertyIdStr, "??", MaxLen - 1);
}
}
#endif