77 int inBufExchanged = 0;
87 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
89 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
102 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
104 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
121 if(pInputQueue->
nelem>0){
124 pInputBuffer =
dequeue(pInputQueue);
125 if(pInputBuffer == NULL){
163 || (pInputBuffer->
nFlags)){
171 DEBUG(
DEB_LEV_ERR,
"In %s Received Buffer in non-Executing State(%s) TrState (%s)\n",
216 int i,outBufExchanged[2];
224 pInputBuffer[1]= pInputBuffer[0]=NULL;
225 isInputBufferNeeded[0]=isInputBufferNeeded[1]=
OMX_TRUE;
226 outBufExchanged[0]=outBufExchanged[1]=0;
233 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
236 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
238 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",
239 __func__,outBufExchanged[0],isInputBufferNeeded[0],outBufExchanged[1],isInputBufferNeeded[1],pInputSem[0]->semval,pInputSem[1]->semval);
243 outBufExchanged[1]--;
244 pInputBuffer[1]=NULL;
251 outBufExchanged[0]--;
252 pInputBuffer[0]=NULL;
257 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",
258 __func__,outBufExchanged[0],isInputBufferNeeded[0],outBufExchanged[1],isInputBufferNeeded[1],pInputSem[0]->semval,pInputSem[1]->semval);
262 pthread_mutex_lock(&omx_base_sink_Private->
flush_mutex);
264 pthread_mutex_unlock(&omx_base_sink_Private->
flush_mutex);
267 if((isInputBufferNeeded[0]==
OMX_TRUE && pInputSem[0]->semval==0) &&
278 if((isInputBufferNeeded[1]==
OMX_TRUE && pInputSem[1]->semval==0) &&
292 if(pInputSem[0]->semval>0 && isInputBufferNeeded[0]==
OMX_TRUE ) {
294 if(pInputQueue[0]->nelem>0){
295 outBufExchanged[0]++;
297 pInputBuffer[0] =
dequeue(pInputQueue[0]);
298 if(pInputBuffer[0] == NULL){
305 if(pInputSem[1]->semval>0 && isInputBufferNeeded[1]==
OMX_TRUE) {
308 if(pInputQueue[1]->nelem>0){
309 outBufExchanged[1]++;
311 pInputBuffer[1] =
dequeue(pInputQueue[1]);
312 if(pInputBuffer[1] == NULL){
313 DEBUG(
DEB_LEV_ERR,
"Had NULL Input buffer!! op is=%d,iq=%d\n",pInputSem[1]->semval,pInputQueue[1]->nelem);
344 }
else if(pInputBuffer[i]->hMarkTargetComponent!=NULL){
358 DEBUG(
DEB_LEV_ERR,
"In %s Received Buffer in non-Executing State(%x)\n", __func__, (
int)omx_base_sink_Private->
state);
367 DEBUG(
DEB_LEV_FULL_SEQ,
"Detected EOS flags in input buffer filled len=%d\n", (
int)pInputBuffer[i]->nFilledLen);
384 outBufExchanged[i]--;
385 pInputBuffer[i]=NULL;