mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
Add wgc demo
This commit is contained in:
218
error_define.h
Normal file
218
error_define.h
Normal file
@@ -0,0 +1,218 @@
|
||||
#ifndef ERROR_DEFINE
|
||||
#define ERROR_DEFINE
|
||||
|
||||
|
||||
enum AM_ERROR{
|
||||
AE_NO = 0,
|
||||
AE_ERROR,
|
||||
AE_UNSUPPORT,
|
||||
AE_INVALID_CONTEXT,
|
||||
AE_NEED_INIT,
|
||||
AE_TIMEOUT,
|
||||
AE_ALLOCATE_FAILED,
|
||||
|
||||
//AE_CO_
|
||||
AE_CO_INITED_FAILED,
|
||||
AE_CO_CREATE_FAILED,
|
||||
AE_CO_GETENDPOINT_FAILED,
|
||||
AE_CO_ACTIVE_DEVICE_FAILED,
|
||||
AE_CO_GET_FORMAT_FAILED,
|
||||
AE_CO_AUDIOCLIENT_INIT_FAILED,
|
||||
AE_CO_GET_CAPTURE_FAILED,
|
||||
AE_CO_CREATE_EVENT_FAILED,
|
||||
AE_CO_SET_EVENT_FAILED,
|
||||
AE_CO_START_FAILED,
|
||||
AE_CO_ENUMENDPOINT_FAILED,
|
||||
AE_CO_GET_ENDPOINT_COUNT_FAILED,
|
||||
AE_CO_GET_ENDPOINT_ID_FAILED,
|
||||
AE_CO_OPEN_PROPERTY_FAILED,
|
||||
AE_CO_GET_VALUE_FAILED,
|
||||
AE_CO_GET_BUFFER_FAILED,
|
||||
AE_CO_RELEASE_BUFFER_FAILED,
|
||||
AE_CO_GET_PACKET_FAILED,
|
||||
AE_CO_PADDING_UNEXPECTED,
|
||||
|
||||
//AE_FFMPEG_
|
||||
AE_FFMPEG_OPEN_INPUT_FAILED,
|
||||
AE_FFMPEG_FIND_STREAM_FAILED,
|
||||
AE_FFMPEG_FIND_DECODER_FAILED,
|
||||
AE_FFMPEG_OPEN_CODEC_FAILED,
|
||||
AE_FFMPEG_READ_FRAME_FAILED,
|
||||
AE_FFMPEG_READ_PACKET_FAILED,
|
||||
AE_FFMPEG_DECODE_FRAME_FAILED,
|
||||
AE_FFMPEG_NEW_SWSCALE_FAILED,
|
||||
AE_FFMPEG_FIND_ENCODER_FAILED,
|
||||
AE_FFMPEG_ALLOC_CONTEXT_FAILED,
|
||||
AE_FFMPEG_ENCODE_FRAME_FAILED,
|
||||
AE_FFMPEG_ALLOC_FRAME_FAILED,
|
||||
AE_FFMPEG_OPEN_IO_FAILED,
|
||||
AE_FFMPEG_CREATE_STREAM_FAILED,
|
||||
AE_FFMPEG_COPY_PARAMS_FAILED,
|
||||
AE_RESAMPLE_INIT_FAILED,
|
||||
AE_FFMPEG_NEW_STREAM_FAILED,
|
||||
AE_FFMPEG_FIND_INPUT_FMT_FAILED,
|
||||
AE_FFMPEG_WRITE_HEADER_FAILED,
|
||||
AE_FFMPEG_WRITE_TRAILER_FAILED,
|
||||
AE_FFMPEG_WRITE_FRAME_FAILED,
|
||||
|
||||
//AE_FILTER_
|
||||
AE_FILTER_ALLOC_GRAPH_FAILED,
|
||||
AE_FILTER_CREATE_FILTER_FAILED,
|
||||
AE_FILTER_PARSE_PTR_FAILED,
|
||||
AE_FILTER_CONFIG_FAILED,
|
||||
AE_FILTER_INVALID_CTX_INDEX,
|
||||
AE_FILTER_ADD_FRAME_FAILED,
|
||||
|
||||
//AE_GDI_
|
||||
AE_GDI_GET_DC_FAILED,
|
||||
AE_GDI_CREATE_DC_FAILED,
|
||||
AE_GDI_CREATE_BMP_FAILED,
|
||||
AE_GDI_BITBLT_FAILED,
|
||||
AE_GDI_GET_DIBITS_FAILED,
|
||||
|
||||
//AE_D3D_
|
||||
AE_D3D_LOAD_FAILED,
|
||||
AE_D3D_GET_PROC_FAILED,
|
||||
AE_D3D_CREATE_DEVICE_FAILED,
|
||||
AE_D3D_QUERYINTERFACE_FAILED,
|
||||
AE_D3D_CREATE_VERTEX_SHADER_FAILED,
|
||||
AE_D3D_CREATE_INLAYOUT_FAILED,
|
||||
AE_D3D_CREATE_PIXEL_SHADER_FAILED,
|
||||
AE_D3D_CREATE_SAMPLERSTATE_FAILED,
|
||||
|
||||
//AE_DXGI_
|
||||
AE_DXGI_GET_PROC_FAILED,
|
||||
AE_DXGI_GET_ADAPTER_FAILED,
|
||||
AE_DXGI_GET_FACTORY_FAILED,
|
||||
AE_DXGI_FOUND_ADAPTER_FAILED,
|
||||
|
||||
//AE_DUP_
|
||||
AE_DUP_ATTATCH_FAILED,
|
||||
AE_DUP_QI_FAILED,
|
||||
AE_DUP_GET_PARENT_FAILED,
|
||||
AE_DUP_ENUM_OUTPUT_FAILED,
|
||||
AE_DUP_DUPLICATE_MAX_FAILED,
|
||||
AE_DUP_DUPLICATE_FAILED,
|
||||
AE_DUP_RELEASE_FRAME_FAILED,
|
||||
AE_DUP_ACQUIRE_FRAME_FAILED,
|
||||
AE_DUP_QI_FRAME_FAILED,
|
||||
AE_DUP_CREATE_TEXTURE_FAILED,
|
||||
AE_DUP_QI_DXGI_FAILED,
|
||||
AE_DUP_MAP_FAILED,
|
||||
AE_DUP_GET_CURSORSHAPE_FAILED,
|
||||
|
||||
//AE_REMUX_
|
||||
AE_REMUX_RUNNING,
|
||||
AE_REMUX_NOT_EXIST,
|
||||
AE_REMUX_INVALID_INOUT,
|
||||
|
||||
// AE_WGC_
|
||||
AE_WGC_CREATE_CAPTURER_FAILED,
|
||||
|
||||
AE_MAX
|
||||
};
|
||||
|
||||
static const char *ERRORS_STR[] = {
|
||||
"no error", //AE_NO
|
||||
"error", //AE_ERROR
|
||||
"not support for now", //AE_UNSUPPORT
|
||||
"invalid context", //AE_INVALID_CONTEXT
|
||||
"need init first", //AE_NEED_INIT
|
||||
"operation timeout", //AE_TIMEOUT
|
||||
"allocate memory failed", //AE_ALLOCATE_FAILED,
|
||||
|
||||
"com init failed", //AE_CO_INITED_FAILED
|
||||
"com create instance failed", //AE_CO_CREATE_FAILED
|
||||
"com get endpoint failed", //AE_CO_GETENDPOINT_FAILED
|
||||
"com active device failed", //AE_CO_ACTIVE_DEVICE_FAILED
|
||||
"com get wave formatex failed", //AE_CO_GET_FORMAT_FAILED
|
||||
"com audio client init failed", //AE_CO_AUDIOCLIENT_INIT_FAILED
|
||||
"com audio get capture failed", //AE_CO_GET_CAPTURE_FAILED
|
||||
"com audio create event failed", //AE_CO_CREATE_EVENT_FAILED
|
||||
"com set ready event failed", //AE_CO_SET_EVENT_FAILED
|
||||
"com start to record failed", //AE_CO_START_FAILED
|
||||
"com enum audio endpoints failed", //AE_CO_ENUMENDPOINT_FAILED
|
||||
"com get endpoints count failed", //AE_CO_GET_ENDPOINT_COUNT_FAILED
|
||||
"com get endpoint id failed", //AE_CO_GET_ENDPOINT_ID_FAILED
|
||||
"com open endpoint property failed", //AE_CO_OPEN_PROPERTY_FAILED
|
||||
"com get property value failed", //AE_CO_GET_VALUE_FAILED
|
||||
"com get buffer failed", //AE_CO_GET_BUFFER_FAILED
|
||||
"com release buffer failed", //AE_CO_RELEASE_BUFFER_FAILED
|
||||
"com get packet size failed", //AE_CO_GET_PACKET_FAILED
|
||||
"com get padding size unexpected", //AE_CO_PADDING_UNEXPECTED
|
||||
|
||||
"ffmpeg open input failed", //AE_FFMPEG_OPEN_INPUT_FAILED
|
||||
"ffmpeg find stream info failed", //AE_FFMPEG_FIND_STREAM_FAILED
|
||||
"ffmpeg find decoder failed", //AE_FFMPEG_FIND_DECODER_FAILED
|
||||
"ffmpeg open codec failed", //AE_FFMPEG_OPEN_CODEC_FAILED
|
||||
"ffmpeg read frame failed", //AE_FFMPEG_READ_FRAME_FAILED
|
||||
"ffmpeg read packet failed", //AE_FFMPEG_READ_PACKET_FAILED
|
||||
"ffmpeg decode frame failed", //AE_FFMPEG_DECODE_FRAME_FAILED
|
||||
"ffmpeg create swscale failed", //AE_FFMPEG_NEW_SWSCALE_FAILED
|
||||
|
||||
"ffmpeg find encoder failed", //AE_FFMPEG_FIND_ENCODER_FAILED
|
||||
"ffmpeg alloc context failed", //AE_FFMPEG_ALLOC_CONTEXT_FAILED
|
||||
"ffmpeg encode frame failed", //AE_FFMPEG_ENCODE_FRAME_FAILED
|
||||
"ffmpeg alloc frame failed", //AE_FFMPEG_ALLOC_FRAME_FAILED
|
||||
|
||||
"ffmpeg open io ctx failed", //AE_FFMPEG_OPEN_IO_FAILED
|
||||
"ffmpeg new stream failed", //AE_FFMPEG_CREATE_STREAM_FAILED
|
||||
"ffmpeg copy parameters failed", //AE_FFMPEG_COPY_PARAMS_FAILED
|
||||
"resampler init failed", //AE_RESAMPLE_INIT_FAILED
|
||||
"ffmpeg new out stream failed", //AE_FFMPEG_NEW_STREAM_FAILED
|
||||
"ffmpeg find input format failed", //AE_FFMPEG_FIND_INPUT_FMT_FAILED
|
||||
"ffmpeg write file header failed", //AE_FFMPEG_WRITE_HEADER_FAILED
|
||||
"ffmpeg write file trailer failed", //AE_FFMPEG_WRITE_TRAILER_FAILED
|
||||
"ffmpeg write frame failed", //AE_FFMPEG_WRITE_FRAME_FAILED
|
||||
|
||||
"avfilter alloc avfilter failed", //AE_FILTER_ALLOC_GRAPH_FAILED
|
||||
"avfilter create graph failed", //AE_FILTER_CREATE_FILTER_FAILED
|
||||
"avfilter parse ptr failed", //AE_FILTER_PARSE_PTR_FAILED
|
||||
"avfilter config graph failed", //AE_FILTER_CONFIG_FAILED
|
||||
"avfilter invalid ctx index", //AE_FILTER_INVALID_CTX_INDEX
|
||||
"avfilter add frame failed", //AE_FILTER_ADD_FRAME_FAILED
|
||||
|
||||
"gdi get dc failed", //AE_GDI_GET_DC_FAILED
|
||||
"gdi create dc failed", //AE_GDI_CREATE_DC_FAILED
|
||||
"gdi create bmp failed", //AE_GDI_CREATE_BMP_FAILED
|
||||
"gdi bitblt failed", //AE_GDI_BITBLT_FAILED
|
||||
"gid geet dibbits failed", //AE_GDI_GET_DIBITS_FAILED
|
||||
|
||||
"d3d11 library load failed", //AE_D3D_LOAD_FAILED
|
||||
"d3d11 proc get failed", //AE_D3D_GET_PROC_FAILED
|
||||
"d3d11 create device failed", //AE_D3D_CREATE_DEVICE_FAILED
|
||||
"d3d11 query interface failed", //AE_D3D_QUERYINTERFACE_FAILED
|
||||
"d3d11 create vertex shader failed",//AE_D3D_CREATE_VERTEX_SHADER_FAILED
|
||||
"d3d11 create input layout failed", //AE_D3D_CREATE_INLAYOUT_FAILED
|
||||
"d3d11 create pixel shader failed", //AE_D3D_CREATE_PIXEL_SHADER_FAILED
|
||||
"d3d11 create sampler state failed",//AE_D3D_CREATE_SAMPLERSTATE_FAILED
|
||||
|
||||
"dxgi get proc address failed", //AE_DXGI_GET_PROC_FAILED
|
||||
"dxgi get adapter failed", //AE_DXGI_GET_ADAPTER_FAILED
|
||||
"dxgi get factory failed", //AE_DXGI_GET_FACTORY_FAILED
|
||||
"dxgi specified adapter not found", //AE_DXGI_FOUND_ADAPTER_FAILED
|
||||
|
||||
"duplication attatch desktop failed", //AE_DUP_ATTATCH_FAILED
|
||||
"duplication query interface failed", //AE_DUP_QI_FAILED
|
||||
"duplication get parent failed", //AE_DUP_GET_PARENT_FAILED
|
||||
"duplication enum ouput failed", //AE_DUP_ENUM_OUTPUT_FAILED
|
||||
"duplication duplicate unavailable", //AE_DUP_DUPLICATE_MAX_FAILED
|
||||
"duplication duplicate failed", //AE_DUP_DUPLICATE_FAILED
|
||||
"duplication release frame failed", //AE_DUP_RELEASE_FRAME_FAILED
|
||||
"duplication acquire frame failed", //AE_DUP_ACQUIRE_FRAME_FAILED
|
||||
"duplication qi frame failed", //AE_DUP_QI_FRAME_FAILED
|
||||
"duplication create texture failed", //AE_DUP_CREATE_TEXTURE_FAILED
|
||||
"duplication dxgi qi failed", //AE_DUP_QI_DXGI_FAILED
|
||||
"duplication map rects failed", //AE_DUP_MAP_FAILED
|
||||
"duplication get cursor shape failed",//AE_DUP_GET_CURSORSHAPE_FAILED
|
||||
|
||||
"remux is already running", //AE_REMUX_RUNNING
|
||||
"remux input file do not exist", //AE_REMUX_NOT_EXIST
|
||||
"remux input or output file invalid", //AE_REMUX_INVALID_INOUT
|
||||
};
|
||||
|
||||
#define err2str(e) e < AE_MAX ? ERRORS_STR[e] : "unknown"
|
||||
|
||||
#define AMERROR_CHECK(err) if(err != AE_NO) return err
|
||||
|
||||
#endif // !ERROR_DEFINE
|
||||
Reference in New Issue
Block a user