4515713db7695a04461b1e5bb17317d499781e2e
This works around ffmpeg bug https://trac.ffmpeg.org/ticket/10755 where for specific files that are: - Ogg container format, with supported audio stream (e.g. Vorbis), - But the video stream is not Ogg-compatible (e.g. Theora), but rather it is an embedded "album art" (AV_DISPOSITION_ATTACHED_PIC) in MJPEG, PNG or some other non-Ogg format. Calling any sort of ffmpeg "seek" function on that video stream just aborts from innards of ffmpeg. So to work around this: - Detect such files (ogg container, non-theora video, attached picture disposition) and for those: - Never seek within them, and only ever decode one frame. Return that frame for any & all "give me a frame" requests. - Additionally, calculating "how many frames this video has" for such files also returns nonsense ("millions of frames") since their frame rate is set to like 90000 or similar. So pretend they have a "sane" frame rate. Do all this frame rate calculation just once when opening the video, and use that result in all other places. - Never build proxies for such video files, since e.g. "timecode" for them does not make sense. All of this could be removed once/if ffmpeg fixes their issue. Pull Request: https://projects.blender.org/blender/blender/pulls/132920
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
