windows-nt/Source/XPSP1/NT/net/tapi/skywalker/cc/inc/vidinfo.h

190 lines
5.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/****************************************************************************
*
* $Archive: S:/STURGEON/SRC/INCLUDE/VCS/vidinfo.h_v $
*
* INTEL Corporation Prorietary Information
*
* This listing is supplied under the terms of a license agreement
* with INTEL Corporation and may not be copied nor disclosed except
* in accordance with the terms of that agreement.
*
* Copyright (c) 1993-1994 Intel Corporation.
*
* $Author: MLAKSHMX $
*
* Deliverable:
*
* Abstract: Header file for the video MSP to share information with the App.
*
* Notes:
*
***************************************************************************/
#ifndef VIDINFO_H
#define VIDINFO_H
#include "h245api.h"
#ifdef __cplusplus
extern "C" { // Assume C declarations for C++.
#endif // __cplusplus
//Unique ID for this version of MSP.
#define VIDEOSRCMSP "IntelIPhoneVideoH2631.0Src"
#define VIDEOSNKMSP "IntelIPhoneVideoH2631.0Snk"
// This function allows the MSM to make IO Control (IOCTL) type calls into
// the MSP. The following controls can be exercised on the sink instance of
// VIDMSP.
// Change the display frame size.
// lparam2 = pointer to a RECT
#define VIDCMD_RESIZE_VIDEO 0x00000001
/**********************
Please Ignore these defunct #defines for Video Attributes!!
//
// Change the display frame rate.
// lparam2 = frame rate in msec/frame
#define VIDCMD_SET_DISPLAY_RATE 0x00000002
// Specify whether quality or frame rate is more desirable for remote
// video.
// lparam1 = TRUE -
// lparam2 = Quality (1-10000)
//
// or
// lparam1 = FALSE
// lparam2 = Frame rate in msec/frame.
//
#define VIDCMD_QUALITY_FRAMERATE 0x00000003
//The following controls can be exercised on the source instance of VIDMSP.
// Use the constant quality bit rate controller.
// lparam1 = Byte rate in bytes/sec.
// lparam2 = Quality.
#define VIDCMD_SET_QUALITY_BRC 0x00000004
// Use constant frame rate bit rate controller.
// lparam1 = Byte rate in bytes/sec.
// lparam2 = frame rate in msec/frame.
#define VIDCMD_SET_FRAME_RATE_BRC 0x00000005
// Use constant frame size bit rate controller.
// lparam1 = Byte rate in bytes/sec.
// lparam2 = frame rate in msec/frame.
#define VIDCMD_SET_FRAME_SIZE_BRC 0x00000006
// Turn PB frames on/off.
// lparam1 = TRUE - PB frames on.
// FALSE - PB frames off.
#define VIDCMD_CNTL_PB_FRAMES 0x00000007
// Set the packet-size
// lparam1 = 0 for Get, 1 for Set.
// lparam2 = packet size in bytes.
#define VIDCMD_PACKET_SIZE 0x00000008
******************************************/
// this command instructs the Video MSP to launch the Video config
// dialog box, to allow user to set frame rate,data rate , quality etc.
#define VIDCMD_CONFIG_VIDEO 0x0000000A
#define VIDCMD_GET_VIDCFG 0x0000000B
// Mute & Unmute Video
#define VIDCMD_PAUSE_VIDEO 0x0000000C
#define VIDCMD_UNPAUSE_VIDEO 0x0000000D
// Commands for the Video Source. These will xlate to
// commands for the encoder
#define VIDCMD_SET_SRC_FRAMERATE 0x0000000E
#define VIDCMD_SET_SRC_BITRATE 0x0000000F
#define VIDCMD_SET_SRC_QUALITY 0x00000010
// commands for the Video Sink. These will xlate to
// commands for the decoder
#define VIDCMD_SET_SNK_BRIGHTNESS 0x00000011
#define VIDCMD_SET_SNK_CONTRAST 0x00000012
#define AVPHONE_APP 1
#define MSMTEST_APP 0
typedef struct _VIDEOCONFIG
{
int m_FrameRate;
int m_DataRate;
int m_Quality;
BOOL AppOrMsmtest; // need to diff between a H323 based app and msmtest
}
VIDEOCONFIG,*PVIDEOCONFIG;
// Set the expected packet loss rate.
// lparam1 = 0 for Get, 1 for Set.
// lparam2 = a number from 0 - 100.
#define VIDCMD_EXPECTED_PACKET_LOSS 0x00000009
// Video MSP Open Port structure
// To be passed in lParamIn by MSM in the MSP_OpenPort call
typedef struct _VIDMSPOPENPORT
{
H245_TOTCAP_T *pH245TotCapT;
HWND hAppWnd;
BYTE RTPPayloadType;
}
VIDMSPOPENPORT, *LPVIDMSPOPENPORT;
// ISDM Keys & Values
#define IPHONE_VIDEO "IIPHONE_VIDEO"
#define VIDEO_SEND "Send"
#define VIDEO_RCV "Receive"
typedef struct _IPHONE_VIDEO_VALUE
{
DWORD dwRevNumber; // 1 for Release
DWORD dwTargetFrameRate; // frames/sec
DWORD dwFrameRate; // Frames/sec since last updated
DWORD dwTargetDataRate; // bits/sec
DWORD dwDataRate; // bits/sec rate since value last updated
DWORD Reserved[59];
}IPHONEVIDEOVALUE,*LPIPHONEVIDEOVALUE;
// Video MSP Error Codes
#define EVID_ERROR_BASE 0xA000
#define FIRST_EVID_ID -400 + EVID_ERROR_BASE//Same as next err.
#define EVID_BAD_MSP_HND -400 + EVID_ERROR_BASE
#define EVID_NULL_INSTANCE_HANDLE -400 + EVID_ERROR_BASE
#define EVID_BAD_MSP_TYPE -401 + EVID_ERROR_BASE
#define EVID_BAD_CALL_ORDER -402 + EVID_ERROR_BASE
#define EVID_BAD_BUF_PTR -403 + EVID_ERROR_BASE
#define EVID_CANT_LOAD_DLL -404 + EVID_ERROR_BASE
#define EVID_VM_INIT_FAILED -405 + EVID_ERROR_BASE
#define EVID_VM_OPEN_FAILED -406 + EVID_ERROR_BASE
#define EVID_VM_CAPT_FAILED -407 + EVID_ERROR_BASE
#define EVID_VM_LINKIN_FAILED -408 + EVID_ERROR_BASE
#define EVID_VM_UNLINKIN_FAILED -409 + EVID_ERROR_BASE
#define EVID_VM_LINKOUT_FAILED -410 + EVID_ERROR_BASE
#define EVID_VM_UNLINKOUT_FAILED -411 + EVID_ERROR_BASE
#define EVID_VM_PLAY_FAILED -412 + EVID_ERROR_BASE
#define EVID_VM_ENDPLAY_FAILED -413 + EVID_ERROR_BASE
#define EVID_BAD_CONFIG_SETTING -414 + EVID_ERROR_BASE
#define EVID_MALLOC_FAILED -415 + EVID_ERROR_BASE
#define EVID_VM_REGISTER_FAILED -450 + EVID_ERROR_BASE
#define EVID_VM_UNREGISTER_FAILED -451 + EVID_ERROR_BASE
#define EVID_BAD_PARAMETER -452 + EVID_ERROR_BASE
#define EVID_VM_START_SENDING_FAILED -453 + EVID_ERROR_BASE
#define EVID_VM_STOP_SENDING_FAILED -454 + EVID_ERROR_BASE
#define EVID_VM_CREATEWINDOW_FAILED -455 + EVID_ERROR_BASE
#define LAST_EVID_ID -414 + EVID_ERROR_BASE
#ifdef __cplusplus
} // End of extern "C" {
#endif // __cplusplus
#endif // VIDINFO_H