diff options
Diffstat (limited to 'mm-video-v4l2/vidc')
-rw-r--r-- | mm-video-v4l2/vidc/vdec/inc/omx_vdec.h | 6 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h index f806361b..06522424 100644 --- a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h +++ b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h @@ -181,7 +181,7 @@ class VideoHeap : public MemoryHeapBase #define DESC_BUFFER_SIZE (8192 * 16) #ifdef _ANDROID_ -#define MAX_NUM_INPUT_OUTPUT_BUFFERS 32 +#define MAX_NUM_INPUT_OUTPUT_BUFFERS 64 #endif #define OMX_FRAMEINFO_EXTRADATA 0x00010000 @@ -856,7 +856,7 @@ class omx_vdec: public qc_omx_component //Output port Populated OMX_BOOL m_out_bPopulated; // encapsulate the waiting states. - unsigned int m_flags; + uint64_t m_flags; #ifdef _ANDROID_ // Heap pointer to frame buffers @@ -1028,7 +1028,7 @@ class omx_vdec: public qc_omx_component OMX_ERRORTYPE free_output_buffer(OMX_BUFFERHEADERTYPE *bufferHdr); bool is_color_conversion_enabled() {return enabled;} private: -#define MAX_COUNT 32 +#define MAX_COUNT MAX_NUM_INPUT_OUTPUT_BUFFERS omx_vdec *omx; bool enabled; OMX_COLOR_FORMATTYPE ColorFormat; diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp index a8a971a0..79c428c7 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp @@ -3449,6 +3449,13 @@ OMX_ERRORTYPE omx_vdec::set_parameter(OMX_IN OMX_HANDLETYPE hComp, DEBUG_PRINT_LOW("set_parameter: OMX_IndexParamPortDefinition H= %d, W = %d", (int)portDefn->format.video.nFrameHeight, (int)portDefn->format.video.nFrameWidth); + + if (portDefn->nBufferCountActual >= MAX_NUM_INPUT_OUTPUT_BUFFERS) { + DEBUG_PRINT_ERROR("ERROR: Buffers requested exceeds max limit %d", + portDefn->nBufferCountActual); + eRet = OMX_ErrorBadParameter; + break; + } if (OMX_DirOutput == portDefn->eDir) { DEBUG_PRINT_LOW("set_parameter: OMX_IndexParamPortDefinition OP port"); bool port_format_changed = false; |