📄 zumjmux.h
字号:
/* Description: Returns a new multiplexed stream handle for the application if */
/* exists otherwise return error message. */
/* */
/* Parameters: MxHandle* h - pointer to handle which will be set by the SysMux for */
/* the application. */
/* */
/* Returned values: MUX_OK, MUX_CANT_ALLOCATE_NEW_HANDLE, MUX_ILLEGAL_PARAMETER */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxOpen(MxHandle* h);
/************************************************************************************/
/* */
/* Function name: MxClose */
/* */
/* Description: Free the received handle. */
/* */
/* Parameters: MxHandle h - specifies the relevant multiplexing handle. */
/* */
/* Returned values: MUX_OK, MUX_UNDEFINED_HANDLE */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxClose(MxHandle h);
/************************************************************************************/
/* */
/* Function name: MxDefaultParams */
/* */
/* Description: Updating the parameters in MxParams to default values. The default */
/* values comply with VCD constrains. */
/* */
/* Parameters: 1. OUT MxParams *PMxParams - pointer to a parameters struct, that */
/* is updated by the default values. */
/* */
/* Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxDefaultParams(OUT MxParams *PMxParams);
/************************************************************************************/
/* */
/* Function name: MxSetParams */
/* */
/* Description: Updating the System Mux parameters structure using the PMxParams */
/* structure supplied by the application. */
/* */
/* Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. */
/* 2. IN MxParams *PMxParams - pointer to a parameters struct that */
/* specify the exact format for the */
/* multiplexing operation. */
/* */
/* Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER, MUX_FORBIDDEN_CALLS_FLOW, */
/* MUX_UNDEFINED_HANDLE */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxSetParams(MxHandle h, IN MxParams *PMxParams);
/************************************************************************************/
/* */
/* Function name: MxStart */
/* */
/* Description: Starting a new multiplexing process for the given handle. It */
/* reports to the Mux that all parameters are set and the next */
/* expected step is calling MxAddBufffer service routine. */
/* */
/* Parameters: MxHandle h - specifies the relevant multiplexing handle. */
/* */
/* Returned values: MUX_OK, MUX_FORBIDDEN_CALLS_FLOW, MUX_UNDEFINED_HANDLE, */
/* MUX_CANNOT_OPEN_FILE */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxStart(MxHandle h);
/************************************************************************************/
/* */
/* Function name: MxAddBuffer */
/* */
/* Description: Add a new buffer to the Mux. Each buffer is either one of the */
/* following: Audio/Video input buffer, MuxedStream output buffer */
/* (if it is an output buffers mode). */
/* */
/* Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. */
/* 2. MxBuffer *Buff - pointer to video data buffer. */
/* */
/* Returned values: MUX_OK, MUX_FORBIDDEN_CALLS_FLOW, MUX_UNDEFINED_HANDLE, */
/* MUX_MEMORY_ALLOCATION_FAILED, MUX_LACK_OF_VIDEO_BUFFERS, */
/* MUX_LACK_OF_AUDIO_BUFFERS, MUX_ILLEGAL_ PARAMETER, */
/* MUX_FILE_MODE, MUX_AUDIO_ STREAM_IS_ ILLEGAL, MUX_DONE */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxAddBuffer(MxHandle h, MxBuffer *PBuff);
/********************************************************************************************/
/* */
/* Function name: MxVideoVBRMaxBitRate */
/* */
/* Description: This service routine provides a recommendation concerning the Video */
/* bit-rate, regarding the quality and resolution parameters. */
/* */
/* Parameters: 1. int quality - an integer in the range from 1 (high quality) */
/* up to 31 (low quality). */
/* 2. MxRes resolution - SIF or QSIF. */
/* */
/* Returned values: Video bit-rate */
/* */
/********************************************************************************************/
ZUMJMUX_API unsigned int MxVideoVBRMaxBitRate(MxResolution resolution, int quality);
/********************************************************************************************/
/* */
/* Function name: MxVideoCBRRecommendation */
/* */
/* Description: Provides a recommendation for the following mux parameters - */
/* - Mux-rate */
/* - Video and audio pack-size */
/* - Video and audio std-buffer-size */
/* */
/* Parameters: PMxParams - A parameters structure which was filled by application, and */
/* is ready to be sent to the mux, except for the requested */
/* recommendations. */
/* For each one of the recommended fields (Mux-rate, pack-sizes, */
/* std-buffers) which is set to zero - A new value is returned by */
/* MxVideoCBRRecommendation. */
/* Each non-zero parameter value is kept as-is. */
/* VideoBitRate - Video bit-rate in units of 400 bit. */
/* Zero marks no video-stream. */
/* VideoFrameRate - Number of frames per second. Either 25 or 30. */
/* VideoVBVBufferSize - VBV-Buffer-size of video encoder, in units of 16Kb, */
/* or zero if the current Video bit-rate is VBR. */
/* AudioBitRate - Audio bit-rate in units of 1000 bit */
/* Zero marks no audio-stream. */
/* */
/* */
/* Returned values: MUX_OK, MUX_ILLEGAL_PARAMETER */
/* */
/********************************************************************************************/
ZUMJMUX_API MxMessage MxVideoCBRRecommendation(IN OUT MxParams *PMxParams,
int VideoBitRate, int VideoFrameRate, int VideoVBVBufferSize, int AudioBitRate);
/************************************************************************************/
/* */
/* Function name: MxGetState */
/* */
/* Description: Returns the Mux current state in MxState. */
/* */
/* Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. */
/* 2. int *MxState - Holds the Mux state. It is either lack of output */
/* buffers or lack of input buffers. */
/* Its value is valid only if the function returns */
/* MUX_OK. */
/* */
/* Returned values: MUX_OK, MUX_UNDEFINED_HANDLE, MUX_ILLEGAL_PARAMETER */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxGetState(MxHandle h,int *MxState);
/************************************************************************************/
/* */
/* Function name: MxNotificationOfLostAudioFrames */
/* */
/* Description: Notify the MUX that a lost of audio frames had occured. */
/* Specify the exact number of frames which were lost (as a result */
/* of an overflow). */
/* */
/* Parameters: 1. MxHandle h - specifies the relevant multiplexing handle. */
/* 2. unsigned int NumOfFrames - specifies the exact number of lost */
/* audio frames. */
/* */
/* Returned values: MUX_OK, MUX_UNDEFINED_HANDLE */
/* */
/************************************************************************************/
ZUMJMUX_API MxMessage MxNotificationOfLostAudioFrames(MxHandle h, unsigned int NumOfFrames);
#endif //_ZUMJMUX_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -