/** Verify CMMFBuffer timestamping
 * Use case: N/A
 * @test Req. under test REQ172.7.25
 */
TVerdict CTestStep_MMF_BASECL_U_0007::DoTestStepL( void )
	 {
	 TVerdict verdict = EPass;
	 const TInt KMMFTestTime = 1234567890;
	 CMMFDataBuffer* descriptorBuffer = CMMFDataBuffer::NewL(); //create descriptor buffer

	 //check that the initial time to play is 0
	 if (descriptorBuffer->TimeToPlay() != TTimeIntervalMicroSeconds(0)) verdict = EFail;

	 //assign a timestamp and check it is set correctly
	 descriptorBuffer->SetTimeToPlay(TTimeIntervalMicroSeconds(KMMFTestTime));
	 if (descriptorBuffer->TimeToPlay() != TTimeIntervalMicroSeconds(KMMFTestTime)) verdict = EFail;
 
	 delete descriptorBuffer;
	 return verdict;
	 }
// ---------------------------------------------------------------------------
// CDTMFPayloadFormatWrite::DeliverPacketL
// Prepare the RTP packet header and deliver the packet to the datasink.
// ---------------------------------------------------------------------------
//
void CDTMFPayloadFormatWrite::DeliverPacketL( CMMFDataBuffer& aPayload, 
                                              TBool aMarkerBit )
    {
    DP_DTMF_WRITE4( 
        _L("CDTMFPayloadFormatWrite::DeliverPacketL - TSTAMP: %u, TDUR: %d, tick = %u"),
        TUint32( aPayload.TimeToPlay().Int64() ), iToneDuration, 
        User::NTickCount() );
    
    if ( KSignalOutbandDtmf == iGenerationMode )
        {
        // Set the marker bit if it is very first packet.
        if ( aMarkerBit )
            {
            iRtpSendHeader.iMarker = 1;
            }
        else
            {
            iRtpSendHeader.iMarker = 0;
            }
            
        // Construct RTP header.
        if ( EGenRedUsed == iCInfo.iAlgoUsed )
            {
            iRtpSendHeader.iPayloadType = iCInfo.iRedundantPayload;
            }
        else
            {
            iRtpSendHeader.iPayloadType = iCInfo.iPayloadType;
            }

        // Timestamp must be updated before coming here
        iRtpSendHeader.iTimestamp = TUint32( aPayload.TimeToPlay().Int64() );

        // Deliver the packet
        iRtpDataSink->EmptyBufferL( &aPayload, this,
            TMediaId( KUidMediaTypeAudio ), iRtpSendHeader );

        // Do not reset payload buffer because update packets
        // are send based on same buffer.
        }
    else
        {
        DP_DTMF_WRITE( _L("CDTMFPayloadFormatWrite::DeliverPacketL - INBAND TONE") );
        }
    }