exynos_omx: multi_thread: Support for resubmit CSDs after flush.
authorSeungBeom Kim <sbcrux.kim@samsung.com>
Wed, 27 Aug 2014 04:33:40 +0000 (13:33 +0900)
committerChong Zhang <chz@google.com>
Fri, 29 Aug 2014 21:58:44 +0000 (14:58 -0700)
Modify OMX code for seeking.
Support for resubmit CSDs after seeking and flush.

Bug: 17294121

Change-Id: I407569f529fa6ffd82b3be5deb1dcc82cd505c2b
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.c
exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c

index 8d0e6d5bd8fb9f4390afe1f0a483195250385f25..d16d811ed4aa77c193bfa50827bf3451f9689c87 100644 (file)
@@ -555,7 +555,8 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
                 pExynosComponent->bBehaviorEOS = OMX_TRUE;
         }
 
-        if (pExynosComponent->checkTimeStamp.needSetStartTimeStamp == OMX_TRUE) {
+        if ((pExynosComponent->checkTimeStamp.needSetStartTimeStamp == OMX_TRUE) &&
+            (srcInputData->nFlags & OMX_BUFFERFLAG_CODECCONFIG) != OMX_BUFFERFLAG_CODECCONFIG) {
             pExynosComponent->checkTimeStamp.needCheckStartTimeStamp = OMX_TRUE;
             pExynosComponent->checkTimeStamp.startTimeStamp = srcInputData->timeStamp;
             pExynosComponent->checkTimeStamp.nStartFlags = srcInputData->nFlags;
index c7dc24aa90fda69f2c9419e624cc68a02ffcf049..e271ff4a32aa6aec2e851b29023d67f92dd23c52 100644 (file)
@@ -565,7 +565,8 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
                 pExynosComponent->bBehaviorEOS = OMX_TRUE;
         }
 
-        if (pExynosComponent->checkTimeStamp.needSetStartTimeStamp == OMX_TRUE) {
+        if ((pExynosComponent->checkTimeStamp.needSetStartTimeStamp == OMX_TRUE) &&
+            (srcInputData->nFlags & OMX_BUFFERFLAG_CODECCONFIG) != OMX_BUFFERFLAG_CODECCONFIG) {
             pExynosComponent->checkTimeStamp.needCheckStartTimeStamp = OMX_TRUE;
             pExynosComponent->checkTimeStamp.startTimeStamp = srcInputData->timeStamp;
             pExynosComponent->checkTimeStamp.nStartFlags = srcInputData->nFlags;