645 TInt len=bufSize/2; |
645 TInt len=bufSize/2; |
646 if (PlayCapsBuf().iRequestMinSize) |
646 if (PlayCapsBuf().iRequestMinSize) |
647 len&=~(PlayCapsBuf().iRequestMinSize-1); // Keep the buffer length valid for the driver. |
647 len&=~(PlayCapsBuf().iRequestMinSize-1); // Keep the buffer length valid for the driver. |
648 TxSoundDevice.PlayData(stat[0],bufferConfig.iBufferOffsetList[0],len); |
648 TxSoundDevice.PlayData(stat[0],bufferConfig.iBufferOffsetList[0],len); |
649 TxSoundDevice.PlayData(stat[1],(bufferConfig.iBufferOffsetList[0]+len),len,KSndFlagLastSample); |
649 TxSoundDevice.PlayData(stat[1],(bufferConfig.iBufferOffsetList[0]+len),len,KSndFlagLastSample); |
|
650 bool brokenByPaging = false; |
|
651 if((stat[0] != KRequestPending) || (stat[1] != KRequestPending)) |
|
652 { |
|
653 brokenByPaging = true; |
|
654 Test.Printf(_L("Paging gap between PlayData calls - skipping test\n")); |
|
655 } |
650 User::WaitForRequest(stat[0]); |
656 User::WaitForRequest(stat[0]); |
651 CHECK_NOERROR(stat[0].Int()); |
657 if(!brokenByPaging) CHECK_NOERROR(stat[0].Int()); |
652 User::WaitForRequest(stat[1]); |
658 User::WaitForRequest(stat[1]); |
653 CHECK_NOERROR(stat[1].Int()); |
659 if(!brokenByPaging) CHECK_NOERROR(stat[1].Int()); |
654 |
660 |
655 /** @SYMTestCaseID PBASE-T_SOUND_API-244 |
661 /** @SYMTestCaseID PBASE-T_SOUND_API-244 |
656 @SYMTestCaseDesc Play operation - tracking the count of bytes transferred. |
662 @SYMTestCaseDesc Play operation - tracking the count of bytes transferred. |
657 @SYMTestPriority Critical |
663 @SYMTestPriority Critical |
658 @SYMTestActions Setup the playback channel for playing audio data. |
664 @SYMTestActions Setup the playback channel for playing audio data. |