--- a/multimediacommscontroller/mmccfilesourcesink/src/mccfilesink.cpp Wed Sep 15 12:38:06 2010 +0300
+++ b/multimediacommscontroller/mmccfilesourcesink/src/mccfilesink.cpp Wed Oct 13 14:59:15 2010 +0300
@@ -33,8 +33,7 @@
const TInt KMccMaxNumTimestamps = 5;
-// used for Calculate Average Timestamp
-const TInt KMccDefaultAvgTimestampDiff = 66000;
+const TInt KMccTimestampDifferenceMultiplier = 10;
// ============================ MEMBER FUNCTIONS ===============================
@@ -72,8 +71,7 @@
// -----------------------------------------------------------------------------
//
CMccFileSink::CMccFileSink() :
- CMccDataSink( KMccFileSinkUid ),
- iCurrAvgTimestampDifference( KMccDefaultAvgTimestampDiff )
+ CMccDataSink( KMccFileSinkUid )
{
iVideoCodec.iFourCC = TFourCC( KMccFourCCIdH263 );
// FJKI-7J58CB no use case for audio in file, hence removing the audio track capability
@@ -567,10 +565,6 @@
averageTimeStampDifference = averageTimeStampDifference / ( KMccMaxNumTimestamps - 1 );
}
- if ( averageTimeStampDifference > 0 )
- {
- iCurrAvgTimestampDifference = averageTimeStampDifference;
- }
if ( aCurrentTimestamp > iPreviousTimestamp )
{
@@ -580,19 +574,19 @@
}
iTimestamps.AppendL( aCurrentTimestamp.Int64() );
}
- else if ( aCurrentTimestamp < iPreviousTimestamp )
+ else
{
- TInt64 currDifference = iPreviousTimestamp.Int64() - aCurrentTimestamp.Int64();
- iAddToTimestamp += ( currDifference + iCurrAvgTimestampDifference );
- iTimestamps.Reset();
- iPausedDuration = 0;
+ TInt64 currDifference = iPreviousTimestamp.Int64() - aCurrentTimestamp.Int64();
+ if ( averageTimeStampDifference != 0 &&
+ currDifference > ( averageTimeStampDifference * KMccTimestampDifferenceMultiplier ) )
+ {
+ iAddToTimestamp += ( currDifference + averageTimeStampDifference );
+ iTimestamps.Reset();
+ iPausedDuration = 0;
- __FILESINK_CONTROLL_INT1("CMccFileSink::TimeToPlay, iAddToTimestamp=", iAddToTimestamp )
+ __FILESINK_CONTROLL_INT1("CMccFileSink::TimeToPlay, iAddToTimestamp=", iAddToTimestamp )
+ }
}
- else
- {
- // NOP
- }
}
// -----------------------------------------------------------------------------