multimediacommscontroller/mmccfilesourcesink/src/mccfilevideo.cpp
branchRCL_3
changeset 18 91f50911ea81
parent 0 1bce908db942
child 26 bcc434605a01
child 33 f40c1a748eb9
--- a/multimediacommscontroller/mmccfilesourcesink/src/mccfilevideo.cpp	Tue May 11 16:34:40 2010 +0300
+++ b/multimediacommscontroller/mmccfilesourcesink/src/mccfilevideo.cpp	Tue May 25 13:07:26 2010 +0300
@@ -402,11 +402,27 @@
 		{
 		__FILESOURCE_CONTROLL( "CMccFileVideo::ReadFrameL, reading frame, NOT OK" )
 		CleanupStack::PopAndDestroy( mediaBuffer );
+	  	if( !iSendReadFrameFailEvent )
+	  	    {
+	  	    iReadFrameFailCount++;
+	  	    if( iReadFrameFailCount >= KMccReadFrameFailCountMax )
+	  	    	{
+	  	    	iSendReadFrameFailEvent = ETrue;
+	  	    	iSource.InvalidVideoFrame( ETrue );
+	  	    	}
+	  	    }
         }
     else
     	{
  		__FILESOURCE_CONTROLL_INT1( "CMccFileVideo::ReadFrameL, reading frame, OK, position", 
  		                            iPosition )   		
+ 		                            
+	    if( iSendReadFrameFailEvent )
+		    {
+		    iSendReadFrameFailEvent = EFalse;
+		    iReadFrameFailCount = 0;
+		    iSource.InvalidVideoFrame( EFalse );
+		    }
 
         DoTimingCorrection( iPosition );