77 int inBufExchanged = 0;
89 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
91 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
104 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
106 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
123 if(pInputQueue->
nelem>0){
126 pInputBuffer =
dequeue(pInputQueue);
127 if(pInputBuffer == NULL){
165 || (pInputBuffer->
nFlags)){
173 DEBUG(
DEB_LEV_ERR,
"In %s Received Buffer in non-Executing State(%s) TrState (%s)\n",
218 int i,outBufExchanged[2];
226 pInputBuffer[1]= pInputBuffer[0]=NULL;
227 isInputBufferNeeded[0]=isInputBufferNeeded[1]=
OMX_TRUE;
228 outBufExchanged[0]=outBufExchanged[1]=0;
235 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
238 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
240 DEBUG(
DEB_LEV_FULL_SEQ,
"In %s 1 signalling flush all cond iE=%d,iF=%d,oE=%d,oF=%d iSemVal=%d,oSemval=%d\n",
241 __func__,outBufExchanged[0],isInputBufferNeeded[0],outBufExchanged[1],isInputBufferNeeded[1],pInputSem[0]->semval,pInputSem[1]->semval);
245 outBufExchanged[1]--;
246 pInputBuffer[1]=NULL;
253 outBufExchanged[0]--;
254 pInputBuffer[0]=NULL;
259 DEBUG(
DEB_LEV_FULL_SEQ,
"In %s 2 signalling flush all cond iE=%d,iF=%d,oE=%d,oF=%d iSemVal=%d,oSemval=%d\n",
260 __func__,outBufExchanged[0],isInputBufferNeeded[0],outBufExchanged[1],isInputBufferNeeded[1],pInputSem[0]->semval,pInputSem[1]->semval);
264 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
266 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
269 if((isInputBufferNeeded[0]==
OMX_TRUE && pInputSem[0]->semval==0) &&
280 if((isInputBufferNeeded[1]==
OMX_TRUE && pInputSem[1]->semval==0) &&
294 if(pInputSem[0]->semval>0 && isInputBufferNeeded[0]==
OMX_TRUE ) {
296 if(pInputQueue[0]->nelem>0){
297 outBufExchanged[0]++;
299 pInputBuffer[0] =
dequeue(pInputQueue[0]);
300 if(pInputBuffer[0] == NULL){
307 if(pInputSem[1]->semval>0 && isInputBufferNeeded[1]==
OMX_TRUE) {
310 if(pInputQueue[1]->nelem>0){
311 outBufExchanged[1]++;
313 pInputBuffer[1] =
dequeue(pInputQueue[1]);
314 if(pInputBuffer[1] == NULL){
315 DEBUG(
DEB_LEV_ERR,
"Had NULL Input buffer!! op is=%d,iq=%d\n",pInputSem[1]->semval,pInputQueue[1]->nelem);
346 }
else if(pInputBuffer[i]->hMarkTargetComponent!=NULL){
360 DEBUG(
DEB_LEV_ERR,
"In %s Received Buffer in non-Executing State(%x)\n", __func__, (
int)omx_base_sink_Private->
state);
369 DEBUG(
DEB_LEV_FULL_SEQ,
"Detected EOS flags in input buffer filled len=%d\n", (
int)pInputBuffer[i]->nFilledLen);
386 outBufExchanged[i]--;
387 pInputBuffer[i]=NULL;