AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_VidMgrCheckHandleValidation 関数

指定したハンドルと現在の入力フォーマットとの互換性をチェック

Syntax
C++
int32_t AG903_VidMgrCheckHandleValidation(void * handle, int32_t handle_type);
引数 
説明 
void * handle 
[in] 互換性をチェックする入力ハンドルまたは、出力ハンドルを指定します。 
int32_t handle_type 
[in] handleに指定したハンドルのタイプ(入力ハンドルまたは、出力ハンドル)を指定します。 

互換性チェック結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
handleに不正なハンドルが指定された場合
handle_typeに不正な値が指定された場合
指定したハンドルが現在の入力フォーマットと互換性が無い場合 

現在設定されている入力フォーマットと指定されたハンドルの互換性をチェックします。 

ハンドルタイプ(VIDハンドルタイプ)により入出力を判別します。 

フォーマットごとの互換性は「VIDフォーマット」を参照してください。 

互換性に適応している場合、有効なハンドルを返します。

1: int32_t AG903_VidMgrCheckHandleValidation(void *handle, int32_t handle_type) 2: { 3: uint32_t port_no; 4: AG903_VidMgrInputHandle *input_handle = (AG903_VidMgrInputHandle *)handle; 5: AG903_VidMgrOutputHandle *output_handle = (AG903_VidMgrOutputHandle *)handle; 6: 7: switch (handle_type) { 8: case AG903_VID_MGR_INPUT_HANDLE: 9: if ((handle == NULL) || (input_handle->id != AG903_VID_MGR_INPUT_HANDLE_ID)) { 10: return -AG903_EINVAL; 11: } 12: port_no = input_handle->port_no; 13: break; 14: case AG903_VID_MGR_OUTPUT_HANDLE: 15: if ((handle == NULL) || (output_handle->id != AG903_VID_MGR_OUTPUT_HANDLE_ID)) { 16: return -AG903_EINVAL; 17: } 18: port_no = output_handle->port_no; 19: break; 20: default: 21: return -AG903_EINVAL; 22: } 23: 24: 25: switch (VidContext.vid_format) { 26: case AG903_VID_MGR_24BIT_TO_CH0: 27: case AG903_VID_MGR_8BITCH0_TO_CH0: 28: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 0) || 29: (handle_type == AG903_VID_MGR_OUTPUT_HANDLE && port_no != 0)){ 30: return -AG903_EINVAL; 31: } 32: break; 33: case AG903_VID_MGR_8BITCH1_TO_CH1: 34: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 1) || 35: (handle_type == AG903_VID_MGR_OUTPUT_HANDLE && port_no != 1)){ 36: return -AG903_EINVAL; 37: } 38: break; 39: case AG903_VID_MGR_8BITCH01_TO_CH01: 40: if ((handle_type == AG903_VID_MGR_OUTPUT_HANDLE && (port_no != 0 && port_no != 1))) { 41: return -AG903_EINVAL; 42: } 43: break; 44: case AG903_VID_MGR_8BITCH0_TO_CH0123: 45: default: 46: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 0)) { 47: return -AG903_EINVAL; 48: } 49: break; 50: } 51: return AG903_ENONE; 52: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.