Skip to content

Commit

Permalink
libavc: correct return value of buf mgr avbl check util
Browse files Browse the repository at this point in the history
The function returns status as success even in failed scenarios.
This is corrected.
  • Loading branch information
ram-mohan committed Oct 6, 2023
1 parent a7b6206 commit 34d6f94
Show file tree
Hide file tree
Showing 45 changed files with 13,936 additions and 14,221 deletions.
304 changes: 139 additions & 165 deletions common/ih264_buf_mgr.c

Large diffs are not rendered by default.

58 changes: 27 additions & 31 deletions common/ih264_buf_mgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
*****************************************************************************
* Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
*/

/**
*******************************************************************************
* @file
Expand All @@ -25,14 +26,21 @@
* @brief
* Function declarations used for buffer management
*
* @author
* ittiam
*
* @remarks
* None
* none
*
*******************************************************************************
*/

#ifndef _IH264_BUF_MGR_H_
#define _IH264_BUF_MGR_H_

/*****************************************************************************/
/* Constant Macros */
/*****************************************************************************/
#define BUF_MGR_MAX_CNT 64

/** Flag for current encoding decoder */
Expand All @@ -44,6 +52,9 @@
/** Flag for I/O - Display/output in case of decoder, capture/input in case of encoder */
#define BUF_MGR_IO (1 << 3)

/*****************************************************************************/
/* Structure Definitions */
/*****************************************************************************/
typedef struct
{
/**
Expand All @@ -61,65 +72,50 @@ typedef struct
*/
WORD32 i4_active_buf_cnt;

/**
* au4_status[BUF_MGR_MAX_CNT]
*/
UWORD32 au4_status[BUF_MGR_MAX_CNT];

/* The last three bit of status are: */

/* Bit 0 - IN USE */
/* Bit 1 - CODEC */
/* Bit 2 - REF */
/* Bit 3 - DISP/IO/RECON */
void *apv_ptr[BUF_MGR_MAX_CNT];
UWORD32 au4_status[BUF_MGR_MAX_CNT];

/**
* pointer to buffer
*/
void *apv_ptr[BUF_MGR_MAX_CNT];

}buf_mgr_t;

// Returns size of the buffer manager context
/*****************************************************************************/
/* Function Declarations */
/*****************************************************************************/
WORD32 ih264_buf_mgr_size(void);

//Free buffer manager
IH264_ERROR_T ih264_buf_mgr_free(buf_mgr_t *ps_buf_mgr);

// Reset the buffer manager
void ih264_buf_mgr_reset(void *pv_buf_mgr);

// Initializes the buffer API structure
void *ih264_buf_mgr_init(void *pv_buf);

// Add buffer to buffer manager. 0: success, -1: fail (u4_active_buf_cnt has reached u4_max_buf_cnt)
IH264_ERROR_T ih264_buf_mgr_add(buf_mgr_t *ps_buf_mgr,
void *pv_ptr,
void ih264_buf_mgr_reset(void *pv_buf_mgr);

IH264_ERROR_T ih264_buf_mgr_add(buf_mgr_t *ps_buf_mgr, void *pv_ptr,
WORD32 buf_id);

// this function will set the buffer status to DEC
void* ih264_buf_mgr_get_next_free(buf_mgr_t *ps_buf_mgr, WORD32 *pi4_id);

// this function will check if there are any free buffers
IH264_ERROR_T ih264_buf_mgr_check_free(buf_mgr_t *ps_buf_mgr);

// mask will have who released it: DISP:REF:DEC
IH264_ERROR_T ih264_buf_mgr_release(buf_mgr_t *ps_buf_mgr,
WORD32 id,
IH264_ERROR_T ih264_buf_mgr_release(buf_mgr_t *ps_buf_mgr, WORD32 id,
UWORD32 mask);

// sets the status to one or all of DISP:REF:DEC
IH264_ERROR_T ih264_buf_mgr_set_status(buf_mgr_t *ps_buf_mgr,
WORD32 id,
IH264_ERROR_T ih264_buf_mgr_set_status(buf_mgr_t *ps_buf_mgr, WORD32 id,
UWORD32 mask);

// Gets status of the buffer
WORD32 ih264_buf_mgr_get_status(buf_mgr_t *ps_buf_mgr, WORD32 id);

// pass the ID - buffer will be returned
void* ih264_buf_mgr_get_buf(buf_mgr_t *ps_buf_mgr, WORD32 id);
//Pass buffer to get ID

WORD32 ih264_buf_mgr_get_bufid(buf_mgr_t *ps_buf_mgr, void *pv_buf);

// will return number of active buffers
UWORD32 ih264_buf_mgr_get_num_active_buf(buf_mgr_t *ps_buf_mgr);



#endif /* _IH264_BUF_MGR_H_ */
Loading

0 comments on commit 34d6f94

Please sign in to comment.