Repository navigation
Commit 1be3b55
committed
Narrow to the CLI, restoring the existing seek() behaviour
Issue #380 reports inconsistent CLI behaviour when the start time exceeds the
video length. The previous revision went further and made seek() raise
SeekError on every backend when the target was at or past duration.
That broke real callers: save_images seeks near the end of variable-frame-rate
video, where the backends report different nominal frame rates, so a rebased
scene position now raised instead of clamping. It also contradicted the note in
moviepy.py saying backends "should probably gracefully stop at the last frame
instead of throwing", which that revision deleted along with the test in
test_video_stream.py documenting the existing contract.
Reverts the seek() changes in all three backends and restores both the note and
the tests. What remains is the CLI-level rejection the issue asks for, plus a
guard for OpenCV 5 returning NaN from CAP_PROP_POS_FRAMES after a seek past EOF,
which crashed round() and hung the decode thread.1 parent 056a80a commit 1be3b55
6 files changed
Lines changed: 21 additions & 16 deletions
File tree
- scenedetect/backends
- tests
- website/pages
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
250 | | - | |
251 | 249 | | |
252 | 250 | | |
253 | 251 | | |
| |||
260 | 258 | | |
261 | 259 | | |
262 | 260 | | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
263 | 266 | | |
264 | 267 | | |
265 | 268 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | 253 | | |
257 | 254 | | |
258 | 255 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
290 | 289 | | |
291 | 290 | | |
292 | 291 | | |
293 | 292 | | |
294 | 293 | | |
295 | 294 | | |
296 | | - | |
297 | | - | |
298 | 295 | | |
299 | 296 | | |
300 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
| |||
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
39 | | - | |
40 | | - | |
41 | | - | |
| 38 | + | |
42 | 39 | | |
43 | 40 | | |
44 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | | - | |
322 | | - | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
323 | 325 | | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
324 | 336 | | |
325 | 337 | | |
326 | 338 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
0 commit comments