File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -1415,4 +1415,34 @@ mod tests {
1415
1415
) ;
1416
1416
}
1417
1417
}
1418
+
1419
+ #[ test]
1420
+ // regression test for #452
1421
+ // - fast track
1422
+ // - duration not set so `self.duration` is `f64::MAX`
1423
+ // - stop time is > buffer length
1424
+ fn test_end_of_file_fast_track_2 ( ) {
1425
+ let sample_rate = 48_000. ;
1426
+ let mut context = OfflineAudioContext :: new ( 1 , RENDER_QUANTUM_SIZE , sample_rate) ;
1427
+
1428
+ let mut buffer = context. create_buffer ( 1 , 5 , sample_rate) ;
1429
+ let data = vec ! [ 1. ; 1 ] ;
1430
+ buffer. copy_to_channel ( & data, 0 ) ;
1431
+
1432
+ let mut src = context. create_buffer_source ( ) ;
1433
+ src. connect ( & context. destination ( ) ) ;
1434
+ src. set_buffer ( buffer) ;
1435
+ // play in fast track
1436
+ src. start_at ( 0. ) ;
1437
+ // stop after end of buffer but before the end of render quantum
1438
+ src. stop_at ( 125. / sample_rate as f64 ) ;
1439
+
1440
+ let result = context. start_rendering_sync ( ) ;
1441
+ let channel = result. get_channel_data ( 0 ) ;
1442
+
1443
+ let mut expected = vec ! [ 0. ; 128 ] ;
1444
+ expected[ 0 ] = 1. ;
1445
+
1446
+ assert_float_eq ! ( channel[ ..] , expected[ ..] , abs_all <= 0. ) ;
1447
+ }
1418
1448
}
You can’t perform that action at this time.
0 commit comments