mm-video: vidc: Fix a race condition in sending OMX_CommandPortDisable

Due to a race condition event OMX_CommandPortDisable might send to
OMX client twice once due to OMX_COMPONENT_OUTPUT_DISABLE_PENDING
flag and once due to OMX_COMPONENT_DISABLE_OUTPUT_DEFERRED flag.
This change fix the race condition.

Change-Id: I34fc393b4db174c5c20b76ff556a065f2dd17ba0
CRs-Fixed: 524852
mm-video: vdec: hevc: Add support for HEVC hybrid Adaptive Playback

- Add support for HEVC Hybrid Adaptive playback
- Add support for full DSP HEVC Adaptive playback

Change-Id: I926216c870cef9c87864ca1f3872d33bc602de5f
vidc: venc: Add support for random intra refresh mode

This change add support for setting random intra refresh
mode to video encoder driver.

Change-Id: I9d580344c649d97a16346b2aa591aa1767f4d3c9
mm-video: vidc: make fbd unmap call after buffer logging

fbd logging was failing, since buffers were unmapped
before they were logged.

Change-Id: I1785f8a8e4ed24bbf6f97bc0ca004ed89ea78315
mm-video: vdec: avoid set metadata after free buffer

In some use cases client frees output buffers before it gets
all FBD's, in this process component clears output buffer
structures it has for current session. Code dependent on
these structures results in crash if it executes after free
buffer. This change checks for such condition and avoids
the same.

CRs-fixed: 614669
Change-Id: Ia2b76425ebc49721beae2f02f5677d18dbff90a2
dashplayer: Fix for pause-resume-pause usecase

When pause-resume-pause is queued in fast, second pause
can assert fail in renderer. Happens because pause flag is set
when pause cmd comes but resume flag is set in resume
callback from source. By time resume returns, second pause asserts.

-Fix to remove resume callback path and serialize renderer->pause,
renderer->resume in kwhatpause/kwhatresume as cmds come in itself
-discontinuity flag check made in kwhatresume itself

Change-Id: I1641417ac34c13415eb6b70f00071cca0691bd61
vidc: venc: avoid false notification in case of h/w error

In encoder component, when async thread receives hardware
error from driver, it sends false notification to omx client
after error event. It is not compliant to OMX standard. This
change avoids the same.

Change-Id: Iffe423137628394175c451dce36e25bc503e5d8f
Merge "dashplayer: Fix for pause-resume-pause usecase"
Merge "mm-video: vidc: make fbd unmap call after buffer logging"
dashplayer: support dynamic null surface

support dynamic setting of null
native window

Change-Id: I5c9356014a1dcaf264d93b07fd4dcaf4733e4ade
CRs-Fixed: 608151
Merge "mm-video: vidc: Fix a race condition in sending OMX_CommandPortDisable"
Merge "vidc: venc: Add support for random intra refresh mode"
Merge "mm-video: vdec: hevc: Add support for HEVC hybrid Adaptive Playback"
qcmediaplayer: Extend release() in QCMediaPlayer

Extend release() in QCMediaPlayer which sets its
registered listeners to null
Support qcGetParcelParameter only for valid defined
keys. Else return null.

Change-Id: Idcfc2802ef2a90912659cd71f6c5a4d2874980cc
CRs-Fixed:620213
Merge "dashplayer: support dynamic null surface"
mm-video: vidc: Fix bugs introduced via merge conflict

Fix a couple of bugs introduced by bad conflict resolutions.  A couple
of `if(...)` should be `else if (...)`.  This caused setting of
EncoderMultislice extradata to always fail.

Change-Id: I07aeb61b8eb53ebd5128b8d700fa87e8c2feb97b
msm: vidc: Update filled length to VENUS

This change update the nFilledLen variable to Venus core.

Change-Id: I512ebbbcfec5369f97e22be8cff98e48ba482843
CRs-Fixed: 621134
mm-video: vidc: Adds NULL check for ETB buffer

Meta buffers needs to check against NULL address.
This change adds the check and returns error if NULL
buffer is queued to component.

CRs-Fixed: 590745

Change-Id: I8483e2b19e348c1c50bb4245bfd02419983b022e
Merge "mm-video: vidc: Fix bugs introduced via merge conflict"
msm: venc: Enable/Disable buffer logging at runtime

Buffer logs can be enabled and disabled at runtime with following
properties:
1. setprop vidc.enc.log.out 1
2. setprop vidc.enc.log.in 1
Default location for collecting logs is /data/misc/media
Log file names are in following format:
  input_dec_<width>_<height>_<inst_ptr>.yuv
  output_dec_<width>_<height>_<inst_ptr>.<codec>

CRs-Fixed: 524234
Change-Id: I4d00e95644adc337932d2b8fd97940b04d22f962