diff options
| -rwxr-xr-x | mm-video/qdsp6/venc/omx/src/OMX_Venc.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm-video/qdsp6/venc/omx/src/OMX_Venc.cpp b/mm-video/qdsp6/venc/omx/src/OMX_Venc.cpp index 10a87a63..25f8e2f1 100755 --- a/mm-video/qdsp6/venc/omx/src/OMX_Venc.cpp +++ b/mm-video/qdsp6/venc/omx/src/OMX_Venc.cpp @@ -1640,8 +1640,13 @@ OMX_ERRORTYPE Venc::update_param_port_fmt(OMX_IN OMX_VIDEO_PARAM_PORTFORMATTYPE* return result; } -OMX_ERRORTYPE Venc::update_param_port_def(OMX_IN OMX_PARAM_PORTDEFINITIONTYPE* pParam) +OMX_ERRORTYPE Venc::update_param_port_def(OMX_IN OMX_PARAM_PORTDEFINITIONTYPE* pOrigParam) { + // The code below tries to write to pParam - keep a local + // version instead of writing into the user specified data + // (which might be in read-only memory in some cases), and + // point pParam to that. + OMX_PARAM_PORTDEFINITIONTYPE localParam = *pOrigParam, *pParam = &localParam; OMX_ERRORTYPE result = OMX_ErrorNone; int rc = 0; if (pParam != NULL) |
