-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sd_ass: introduce sub-ass-prune-delay #15229
Conversation
83379cc
to
836371b
Compare
do we really have to make this configurable? |
Why is this even configurable on libass side? Why can't they manage their internal memory cache? |
This is a new API, the use case is playback of a video file made solely out of ASS vector-art (>1TiB file in total). libass currently keeps all events in memory until
Setting it to a really small number should be fine too, but there may be use cases where you want it to be 0. |
Changed it to just unconditionally enable pruning if the API is available. Scratch that, this breaks if a subtitle needs to be re-rendered because the user switched |
libass cannot know the user intention and use-case.
This should probably be enabled by default with a reasonable time window for ASS tracks multiplexed with AV content, like MKVs, or with livestreams that include closed captions rendered by libass. |
Download the artifacts for this pull request: |
Wouldn't it also break sub-seek if the previous event is older than prune-delay? |
Yes, so sub-seek and switching to play-dir=- during runtime is broken if we enable it unconditionally |
4682ece
to
dd856bf
Compare
This would solve #9014 right? |
No, this will only apply to the subtitle track, not the OSD. I don't believe this is necessary or even warranted for the OSD since as avih said in that issue: It shouldn't be growing infinitely in the first place, so if it does that's a whole another issue. |
Noted. Thank you for the response. |
Have anyone tested it? |
Yes, I tested it. Works as expected, I listed the things it breaks in the docs that's why I don't think we can enable it by default unfortunately |
1d95b17
to
caca230
Compare
Disabled by default because it breaks sub-seek and playback in cases where the user changes play-dir from + to - during runtime and past "seen" events need to be re-rendered. Available since libass/libass@dcc9eb7
No description provided.