@@ -10,19 +10,6 @@ import { Composition } from '../../composition';
10
10
import { MediaClip } from '../../clips' ;
11
11
import { Timestamp } from '../../models' ;
12
12
import { MediaTrack } from './media' ;
13
- import { AudioSource } from '../../sources' ;
14
-
15
- class MockMediaClip extends MediaClip {
16
- constructor ( range : [ Timestamp , Timestamp ] , silences : { start : Timestamp , stop : Timestamp } [ ] , element : HTMLMediaElement ) {
17
- super ( ) ;
18
- this . duration . millis = range [ 1 ] . millis - range [ 0 ] . millis ;
19
- this . range = range ;
20
- this . source = {
21
- silences : async ( ) => silences ,
22
- } as any as AudioSource ;
23
- this . element = element ;
24
- }
25
- }
26
13
27
14
describe ( 'The Media Track Object' , ( ) => {
28
15
let comp : Composition ;
@@ -36,89 +23,6 @@ describe('The Media Track Object', () => {
36
23
track . on ( 'update' , updateMock ) ;
37
24
} ) ;
38
25
39
- it ( 'ignores no silences' , async ( ) => {
40
- const clip = new MockMediaClip ( [ new Timestamp ( 10000 ) , new Timestamp ( 20000 ) ] , [ ] , new Audio ( ) ) ;
41
- clip . duration . frames = 30 ;
42
- await track . add ( clip ) ;
43
- await track . removeSilences ( ) ;
44
- expect ( track . clips . length ) . toBe ( 1 ) ;
45
- } ) ;
46
-
47
- it ( 'ignores not applicable silences' , async ( ) => {
48
- const clip = new MockMediaClip ( [ new Timestamp ( 10000 ) , new Timestamp ( 20000 ) ] , [
49
- {
50
- start : new Timestamp ( 0 ) ,
51
- stop : new Timestamp ( 500 ) ,
52
- } ,
53
- {
54
- start : new Timestamp ( 30000 ) ,
55
- stop : new Timestamp ( 30500 ) ,
56
- } ,
57
- ] , new Audio ( ) ) ;
58
- await track . add ( clip ) ;
59
- expect ( clip . source ) . toBeDefined ( ) ;
60
- await track . removeSilences ( ) ;
61
- expect ( track . clips . length ) . toBe ( 1 ) ;
62
- expect ( track . clips . at ( 0 ) ) . toBe ( clip ) ;
63
- expect ( track . clips . at ( 0 ) ?. state ) . toBe ( 'ATTACHED' ) ;
64
- } ) ;
65
-
66
- it ( 'removes silences' , async ( ) => {
67
- const clip = new MockMediaClip ( [ new Timestamp ( 10000 ) , new Timestamp ( 20000 ) ] , [
68
- {
69
- start : new Timestamp ( 0 ) ,
70
- stop : new Timestamp ( 10050 ) ,
71
- } ,
72
- {
73
- start : new Timestamp ( 11000 ) ,
74
- stop : new Timestamp ( 15000 ) ,
75
- } ,
76
- {
77
- start : new Timestamp ( 19000 ) ,
78
- stop : new Timestamp ( 30500 ) ,
79
- } ,
80
- ] , new Audio ( ) ) ;
81
- await track . add ( clip ) ;
82
- expect ( clip . source ) . toBeDefined ( ) ;
83
- await track . removeSilences ( ) ;
84
- expect ( track . clips . length ) . toBe ( 2 ) ;
85
- expect ( track . clips . at ( 0 ) ?. range [ 0 ] . millis ) . toBe ( 10050 ) ;
86
- expect ( track . clips . at ( 0 ) ?. range [ 1 ] . millis ) . toBe ( 11000 ) ;
87
- expect ( track . clips . at ( 1 ) ?. range [ 0 ] . millis ) . toBe ( 15000 ) ;
88
- expect ( track . clips . at ( 1 ) ?. range [ 1 ] . millis ) . toBe ( 19000 ) ;
89
- expect ( track . clips . at ( 0 ) ?. state ) . toBe ( 'ATTACHED' ) ;
90
- expect ( track . clips . at ( 1 ) ?. state ) . toBe ( 'ATTACHED' ) ;
91
- } ) ;
92
-
93
- it ( 'removes silences twice' , async ( ) => {
94
- const clip = new MockMediaClip ( [ new Timestamp ( 10000 ) , new Timestamp ( 20000 ) ] , [
95
- {
96
- start : new Timestamp ( 0 ) ,
97
- stop : new Timestamp ( 500 ) ,
98
- } ,
99
- {
100
- start : new Timestamp ( 11000 ) ,
101
- stop : new Timestamp ( 15000 ) ,
102
- } ,
103
- {
104
- start : new Timestamp ( 19000 ) ,
105
- stop : new Timestamp ( 30500 ) ,
106
- } ,
107
- ] , new Audio ( ) ) ;
108
- await track . add ( clip ) ;
109
- expect ( clip . source ) . toBeDefined ( ) ;
110
- await track . removeSilences ( ) ;
111
- await track . removeSilences ( ) ;
112
- expect ( track . clips . length ) . toBe ( 2 ) ;
113
- expect ( track . clips . at ( 0 ) ?. id ) . not . toBe ( clip . id ) ;
114
- expect ( track . clips . at ( 0 ) ?. range [ 0 ] . millis ) . toBe ( 10000 ) ;
115
- expect ( track . clips . at ( 0 ) ?. range [ 1 ] . millis ) . toBe ( 11000 ) ;
116
- expect ( track . clips . at ( 1 ) ?. range [ 0 ] . millis ) . toBe ( 15000 ) ;
117
- expect ( track . clips . at ( 1 ) ?. range [ 1 ] . millis ) . toBe ( 19000 ) ;
118
- expect ( track . clips . at ( 0 ) ?. state ) . toBe ( 'ATTACHED' ) ;
119
- expect ( track . clips . at ( 1 ) ?. state ) . toBe ( 'ATTACHED' ) ;
120
- } ) ;
121
-
122
26
it ( 'should propagate a seek call' , async ( ) => {
123
27
const clip = new MediaClip ( ) ;
124
28
clip . element = new Audio ( ) ;
0 commit comments