JuliaIO / VideoIO.jl

Reading and writing of video files in Julia via ffmpeg
https://juliaio.github.io/VideoIO.jl/stable
Other
125 stars 53 forks source link

Remove Requires-based GLMakie video player functions #385

Closed IanButterworth closed 3 months ago

IanButterworth commented 1 year ago

Compared to the Images ecosystem, which has ImageIO & ImageView / ImageInTerminal etc. it's never made too much sense that the Makie-based video player lives in here, even if it is behind Requires.

I regret not doing this before v1.0.0 because I think this means we'd need to release v2.0.0 after only a few patch versions.

Before releasing this, this functionality needs to be moved to another package.

codecov[bot] commented 1 year ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.71%. Comparing base (e5bb24f) to head (8297527).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #385 +/- ## ========================================== + Coverage 79.04% 79.71% +0.66% ========================================== Files 10 10 Lines 1284 1282 -2 ========================================== + Hits 1015 1022 +7 + Misses 269 260 -9 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

timholy commented 1 year ago

Removing or refactoring makes sense simply from the standpoint of precompilation (though an extension module would fix that).

If you're thinking about 2.0, have you also considered further changes? Video data seems array-like, with one or two caveats:

The first can be viewed as something that could be expressed with a trait and thus might not be a hard-break of an array abstraction; the second makes video less clearly array-like. Are there enough other applications that these concepts would be worth encapsulating more abstractly? I attempted to do this with ImageAxes's StreamingContainer, but I don't think it's been widely adopted. There may be a better platform available now?