camera/QCamera2/HAL/QCameraPostProc.cpp
/*===========================================================================
 * FUNCTION   : releaseJpegJobData
 *
 * DESCRIPTION: function to release internal resources in jpeg job struct
 *
 * PARAMETERS :
 *   @job     : ptr to jpeg job struct
 *
 * RETURN     : None
 *
 * NOTE       : original source frame need to be queued back to kernel for
 *              future use. Output buf of jpeg job need to be released since
 *              it's allocated for each job. Exif object need to be deleted.
 *==========================================================================*/
FUNCTION   : releaseJpegJobData
DESCRIPTION: function to release internal resources in jpeg job struct

PARAMETERS :
@job     : ptr to jpeg job struct

RETURN     : None

NOTE       : original source frame need to be queued back to kernel for
future use. Output buf of jpeg job need to be released since
it's allocated for each job. Exif object need to be deleted.
FUNCTION : releaseJpegJobData DESCRIPTION : function to release internal resources in jpeg job struct PARAMETERS : @job : ptr to jpeg job struct RETURN : None NOTE : original source frame need to be queued back to kernel for future use . Output buf of jpeg job need to be released since it ' s allocated for each job . Exif object need to be deleted .
void QCameraPostProcessor::releaseJpegJobData(qcamera_jpeg_data_t *job)
{
    CDBG("%s: E", __func__);
    if (NULL != job) {
        if (NULL != job->src_reproc_frame) {
            if (!job->reproc_frame_release) {
                releaseSuperBuf(job->src_reproc_frame);
            }
            free(job->src_reproc_frame);
            job->src_reproc_frame = NULL;
        }
        if (NULL != job->src_frame) {
            releaseSuperBuf(job->src_frame);
            free(job->src_frame);
            job->src_frame = NULL;
        }
        if (NULL != job->pJpegExifObj) {
            delete job->pJpegExifObj;
            job->pJpegExifObj = NULL;
        }
        if (NULL != job->src_reproc_bufs) {
            delete [] job->src_reproc_bufs;
        }
    }
    CDBG("%s: X", __func__);
}
void QCameraPostProcessor :: releaseJpegJobData ( qcamera_jpeg_data_t * job ) { CDBG ( " " , __func__ ) ; if ( NULL != job ) { if ( NULL != job -> src_reproc_frame ) { if ( ! job -> reproc_frame_release ) { releaseSuperBuf ( job -> src_reproc_frame ) ; } free ( job -> src_reproc_frame ) ; job -> src_reproc_frame = NULL ; } if ( NULL != job -> src_frame ) { releaseSuperBuf ( job -> src_frame ) ; free ( job -> src_frame ) ; job -> src_frame = NULL ; } if ( NULL != job -> pJpegExifObj ) { delete job -> pJpegExifObj ; job -> pJpegExifObj = NULL ; } if ( NULL != job -> src_reproc_bufs ) { delete [ ] job -> src_reproc_bufs ; } } CDBG ( " " , __func__ ) ; }
FUNCTION   : releaseJpegJobData
 DESCRIPTION: function to release internal resources in jpeg job struct
FUNCTION : releaseJpegJobData DESCRIPTION : function to release internal resources in jpeg job struct