@@ -9,6 +9,10 @@ namespace FFMpegCore.Test;
99[ TestClass ]
1010public class AudioTest
1111{
12+ private const int BaseTimeoutMilliseconds = 30_000 ;
13+
14+ public TestContext TestContext { get ; set ; }
15+
1216 [ TestMethod ]
1317 public void Audio_Remove ( )
1418 {
@@ -41,6 +45,7 @@ public async Task Audio_FromRaw()
4145 await FFMpegArguments
4246 . FromPipeInput ( new StreamPipeSource ( file ) , options => options . ForceFormat ( "s16le" ) )
4347 . OutputToPipe ( new StreamPipeSink ( memoryStream ) , options => options . ForceFormat ( "mp3" ) )
48+ . CancellableThrough ( TestContext . CancellationToken )
4449 . ProcessAsynchronously ( ) ;
4550 }
4651
@@ -70,7 +75,7 @@ public void Image_AddAudio()
7075 }
7176
7277 [ TestMethod ]
73- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
78+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
7479 public void Audio_ToAAC_Args_Pipe ( )
7580 {
7681 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -83,12 +88,13 @@ public void Audio_ToAAC_Args_Pipe()
8388 . FromPipeInput ( audioSamplesSource )
8489 . OutputToFile ( outputFile , false , opt => opt
8590 . WithAudioCodec ( AudioCodec . Aac ) )
91+ . CancellableThrough ( TestContext . CancellationToken )
8692 . ProcessSynchronously ( ) ;
8793 Assert . IsTrue ( success ) ;
8894 }
8995
9096 [ TestMethod ]
91- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
97+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
9298 public void Audio_ToLibVorbis_Args_Pipe ( )
9399 {
94100 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -101,12 +107,13 @@ public void Audio_ToLibVorbis_Args_Pipe()
101107 . FromPipeInput ( audioSamplesSource )
102108 . OutputToFile ( outputFile , false , opt => opt
103109 . WithAudioCodec ( AudioCodec . LibVorbis ) )
110+ . CancellableThrough ( TestContext . CancellationToken )
104111 . ProcessSynchronously ( ) ;
105112 Assert . IsTrue ( success ) ;
106113 }
107114
108115 [ TestMethod ]
109- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
116+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
110117 public async Task Audio_ToAAC_Args_Pipe_Async ( )
111118 {
112119 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -119,12 +126,13 @@ public async Task Audio_ToAAC_Args_Pipe_Async()
119126 . FromPipeInput ( audioSamplesSource )
120127 . OutputToFile ( outputFile , false , opt => opt
121128 . WithAudioCodec ( AudioCodec . Aac ) )
129+ . CancellableThrough ( TestContext . CancellationToken )
122130 . ProcessAsynchronously ( ) ;
123131 Assert . IsTrue ( success ) ;
124132 }
125133
126134 [ TestMethod ]
127- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
135+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
128136 public void Audio_ToAAC_Args_Pipe_ValidDefaultConfiguration ( )
129137 {
130138 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -137,12 +145,13 @@ public void Audio_ToAAC_Args_Pipe_ValidDefaultConfiguration()
137145 . FromPipeInput ( audioSamplesSource )
138146 . OutputToFile ( outputFile , false , opt => opt
139147 . WithAudioCodec ( AudioCodec . Aac ) )
148+ . CancellableThrough ( TestContext . CancellationToken )
140149 . ProcessSynchronously ( ) ;
141150 Assert . IsTrue ( success ) ;
142151 }
143152
144153 [ TestMethod ]
145- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
154+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
146155 public void Audio_ToAAC_Args_Pipe_InvalidChannels ( )
147156 {
148157 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -153,11 +162,12 @@ public void Audio_ToAAC_Args_Pipe_InvalidChannels()
153162 . FromPipeInput ( audioSamplesSource )
154163 . OutputToFile ( outputFile , false , opt => opt
155164 . WithAudioCodec ( AudioCodec . Aac ) )
165+ . CancellableThrough ( TestContext . CancellationToken )
156166 . ProcessSynchronously ( ) ) ;
157167 }
158168
159169 [ TestMethod ]
160- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
170+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
161171 public void Audio_ToAAC_Args_Pipe_InvalidFormat ( )
162172 {
163173 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -168,11 +178,12 @@ public void Audio_ToAAC_Args_Pipe_InvalidFormat()
168178 . FromPipeInput ( audioSamplesSource )
169179 . OutputToFile ( outputFile , false , opt => opt
170180 . WithAudioCodec ( AudioCodec . Aac ) )
181+ . CancellableThrough ( TestContext . CancellationToken )
171182 . ProcessSynchronously ( ) ) ;
172183 }
173184
174185 [ TestMethod ]
175- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
186+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
176187 public void Audio_ToAAC_Args_Pipe_InvalidSampleRate ( )
177188 {
178189 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -183,11 +194,12 @@ public void Audio_ToAAC_Args_Pipe_InvalidSampleRate()
183194 . FromPipeInput ( audioSamplesSource )
184195 . OutputToFile ( outputFile , false , opt => opt
185196 . WithAudioCodec ( AudioCodec . Aac ) )
197+ . CancellableThrough ( TestContext . CancellationToken )
186198 . ProcessSynchronously ( ) ) ;
187199 }
188200
189201 [ TestMethod ]
190- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
202+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
191203 public void Audio_Pan_ToMono ( )
192204 {
193205 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -196,6 +208,7 @@ public void Audio_Pan_ToMono()
196208 . OutputToFile ( outputFile , true ,
197209 argumentOptions => argumentOptions
198210 . WithAudioFilters ( filter => filter . Pan ( 1 , "c0 < 0.9 * c0 + 0.1 * c1" ) ) )
211+ . CancellableThrough ( TestContext . CancellationToken )
199212 . ProcessSynchronously ( ) ;
200213
201214 var mediaAnalysis = FFProbe . Analyse ( outputFile ) ;
@@ -206,7 +219,7 @@ public void Audio_Pan_ToMono()
206219 }
207220
208221 [ TestMethod ]
209- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
222+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
210223 public void Audio_Pan_ToMonoNoDefinitions ( )
211224 {
212225 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -215,6 +228,7 @@ public void Audio_Pan_ToMonoNoDefinitions()
215228 . OutputToFile ( outputFile , true ,
216229 argumentOptions => argumentOptions
217230 . WithAudioFilters ( filter => filter . Pan ( 1 ) ) )
231+ . CancellableThrough ( TestContext . CancellationToken )
218232 . ProcessSynchronously ( ) ;
219233
220234 var mediaAnalysis = FFProbe . Analyse ( outputFile ) ;
@@ -225,7 +239,7 @@ public void Audio_Pan_ToMonoNoDefinitions()
225239 }
226240
227241 [ TestMethod ]
228- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
242+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
229243 public void Audio_Pan_ToMonoChannelsToOutputDefinitionsMismatch ( )
230244 {
231245 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -234,11 +248,12 @@ public void Audio_Pan_ToMonoChannelsToOutputDefinitionsMismatch()
234248 . OutputToFile ( outputFile , true ,
235249 argumentOptions => argumentOptions
236250 . WithAudioFilters ( filter => filter . Pan ( 1 , "c0=c0" , "c1=c1" ) ) )
251+ . CancellableThrough ( TestContext . CancellationToken )
237252 . ProcessSynchronously ( ) ) ;
238253 }
239254
240255 [ TestMethod ]
241- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
256+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
242257 public void Audio_Pan_ToMonoChannelsLayoutToOutputDefinitionsMismatch ( )
243258 {
244259 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -247,11 +262,12 @@ public void Audio_Pan_ToMonoChannelsLayoutToOutputDefinitionsMismatch()
247262 . OutputToFile ( outputFile , true ,
248263 argumentOptions => argumentOptions
249264 . WithAudioFilters ( filter => filter . Pan ( "mono" , "c0=c0" , "c1=c1" ) ) )
265+ . CancellableThrough ( TestContext . CancellationToken )
250266 . ProcessSynchronously ( ) ) ;
251267 }
252268
253269 [ TestMethod ]
254- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
270+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
255271 public void Audio_DynamicNormalizer_WithDefaultValues ( )
256272 {
257273 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -260,13 +276,14 @@ public void Audio_DynamicNormalizer_WithDefaultValues()
260276 . OutputToFile ( outputFile , true ,
261277 argumentOptions => argumentOptions
262278 . WithAudioFilters ( filter => filter . DynamicNormalizer ( ) ) )
279+ . CancellableThrough ( TestContext . CancellationToken )
263280 . ProcessSynchronously ( ) ;
264281
265282 Assert . IsTrue ( success ) ;
266283 }
267284
268285 [ TestMethod ]
269- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
286+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
270287 public void Audio_DynamicNormalizer_WithNonDefaultValues ( )
271288 {
272289 using var outputFile = new TemporaryFile ( $ "out{ VideoType . Mp4 . Extension } ") ;
@@ -275,13 +292,14 @@ public void Audio_DynamicNormalizer_WithNonDefaultValues()
275292 . OutputToFile ( outputFile , true ,
276293 argumentOptions => argumentOptions
277294 . WithAudioFilters ( filter => filter . DynamicNormalizer ( 250 , 7 , 0.9 , 2 , 1 , false , true , true , 0.5 ) ) )
295+ . CancellableThrough ( TestContext . CancellationToken )
278296 . ProcessSynchronously ( ) ;
279297
280298 Assert . IsTrue ( success ) ;
281299 }
282300
283301 [ TestMethod ]
284- [ Timeout ( 10000 , CooperativeCancellation = true ) ]
302+ [ Timeout ( BaseTimeoutMilliseconds , CooperativeCancellation = true ) ]
285303 [ DataRow ( 2 ) ]
286304 [ DataRow ( 32 ) ]
287305 [ DataRow ( 8 ) ]
@@ -294,6 +312,7 @@ public void Audio_DynamicNormalizer_FilterWindow(int filterWindow)
294312 . OutputToFile ( outputFile , true ,
295313 argumentOptions => argumentOptions
296314 . WithAudioFilters ( filter => filter . DynamicNormalizer ( filterWindow : filterWindow ) ) )
315+ . CancellableThrough ( TestContext . CancellationToken )
297316 . ProcessSynchronously ( ) ) ;
298317 }
299318}
0 commit comments