mpv
mpv copied to clipboard
sd_ass: improve handling of subtitles with unknown duration
Existing unknown duration handling can be problematic when a chain of track events (ASS dialogues) shares the same start time.
For reference,
| track->events[n] | Start | Duration |
|---|---|---|
| 0 | 5400 | 2147483000 |
| 1 | 5400 | 2147483000 |
| 2 | 7869 | 2147483000 |
| 3 | 7869 | 2147483000 |
| 4 | 7869 | 2147483000 |
| 5 | 11707 | 2147483000 |
Becomes,
| track->events[n] | Start | Duration |
|---|---|---|
| 0 | 5400 | 0 |
| 1 | 5400 | 2469 |
| 2 | 7869 | 0 |
| 3 | 7869 | 0 |
| 4 | 7869 | 3838 |
| 5 | 11707 | 2147483000 |
Instead of,
| track->events[n] | Start | Duration |
|---|---|---|
| 0 | 5400 | 2469 |
| 1 | 5400 | 2469 |
| 2 | 7869 | 3838 |
| 3 | 7869 | 3838 |
| 4 | 7869 | 3838 |
| 5 | 11707 | 2147483000 |