@@ -2528,6 +2528,61 @@ public void testStoreUserVoiceInFileFormats() {
2528
2528
2529
2529
}
2530
2530
2531
+ @ Test
2532
+ public void testMediaStorageCompletion () {
2533
+ final String USERNAME = "tt_test" , PASSWORD = "tt_test" , NICKNAME = "jUnit - " + getTestMethodName ();
2534
+ int USERRIGHTS = UserRight .USERRIGHT_TRANSMIT_VOICE | UserRight .USERRIGHT_MULTI_LOGIN |
2535
+ UserRight .USERRIGHT_CREATE_TEMPORARY_CHANNEL | UserRight .USERRIGHT_VIEW_ALL_USERS ;
2536
+ makeUserAccount (NICKNAME , USERNAME , PASSWORD , USERRIGHTS );
2537
+
2538
+ TeamTalkBase ttclient1 , ttclient2 ;
2539
+
2540
+ ttclient1 = newClientInstance ();
2541
+ ttclient2 = newClientInstance ();
2542
+
2543
+ initSound (ttclient2 );
2544
+ connect (ttclient2 );
2545
+ login (ttclient2 , NICKNAME , USERNAME , PASSWORD );
2546
+ joinRoot (ttclient2 );
2547
+
2548
+ initSound (ttclient1 );
2549
+ connect (ttclient1 );
2550
+ login (ttclient1 , NICKNAME , USERNAME , PASSWORD );
2551
+ joinRoot (ttclient1 );
2552
+
2553
+ assertTrue ("specify audio storage" , ttclient1 .setUserMediaStorageDir (ttclient2 .getMyUserID (),
2554
+ STORAGEFOLDER , "%username%_%counter%" ,
2555
+ AudioFileFormat .AFF_CHANNELCODEC_FORMAT ));
2556
+
2557
+ // test audio recording start/finished
2558
+ TTMessage msg = new TTMessage ();
2559
+ assertTrue ("enable voice tx" , ttclient2 .enableVoiceTransmission (true ));
2560
+ assertTrue ("audio file created" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2561
+ assertEquals ("recording started" , MediaFileStatus .MFS_STARTED , msg .mediafileinfo .nStatus );
2562
+ assertTrue ("disable voice tx" , ttclient2 .enableVoiceTransmission (false ));
2563
+ assertTrue ("audio file done" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2564
+ assertEquals ("recording ended" , MediaFileStatus .MFS_FINISHED , msg .mediafileinfo .nStatus );
2565
+
2566
+ // test audio recording start/finished when leaving channel
2567
+ assertTrue ("enable voice tx 2" , ttclient2 .enableVoiceTransmission (true ));
2568
+ assertTrue ("audio file created 2" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2569
+ assertEquals ("recording started 2" , MediaFileStatus .MFS_STARTED , msg .mediafileinfo .nStatus );
2570
+ Channel chan = buildDefaultChannel (ttclient2 , "Opus" );
2571
+ assertTrue ("join" , waitCmdSuccess (ttclient2 , ttclient2 .doJoinChannel (chan ), DEF_WAIT ));
2572
+ assertTrue ("audio file done 2" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2573
+ assertEquals ("recording ended 2" , MediaFileStatus .MFS_FINISHED , msg .mediafileinfo .nStatus );
2574
+
2575
+ // test audio recording start/finished when resetting storage folder
2576
+ joinRoot (ttclient2 );
2577
+ assertTrue ("audio file created 3" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2578
+ assertEquals ("recording started 3" , MediaFileStatus .MFS_STARTED , msg .mediafileinfo .nStatus );
2579
+ assertTrue ("specify audio storage 3" , ttclient1 .setUserMediaStorageDir (ttclient2 .getMyUserID (),
2580
+ STORAGEFOLDER , "" ,
2581
+ AudioFileFormat .AFF_NONE ));
2582
+ assertTrue ("audio file done 3" , waitForEvent (ttclient1 , ClientEvent .CLIENTEVENT_USER_RECORD_MEDIAFILE , DEF_WAIT , msg ));
2583
+ assertEquals ("recording ended 3" , MediaFileStatus .MFS_FINISHED , msg .mediafileinfo .nStatus );
2584
+ }
2585
+
2531
2586
@ Test
2532
2587
public void testSoundLoopback () {
2533
2588
TeamTalkBase ttclient ;
0 commit comments