Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- ABI Changes: - PrepareCallback return type change in Player.prepare() - Player.snapshot() callback return type change. Return a file path to save as file(not implemented yet) - Add SeekFlag for prepare(), setNextMedia() and gaplessSwitch() - APIs Changes: - Add RenderAPI.h: provides necessary informations to use a graphics api other than OpenGL - Add Player.setRenderAPI(): select platform graphics api for video rendering. Now OpenGL(default) and D3D11 are supported. - Add version macros - New Features: - Experimental D3D11 rendering support. Now can render frames from software decoders. Color is not precise as OpenGL. Only the context created internally from a HWND via updateNativeSurface is tested. Foreign contexts may work, not tested. - Improve seeking performance, fix unchanged display when seeking continuously. Now it's close to mpv, and should be better than most players like potplayer, vlc, mpc-hc etc. - Fix seek position if media start time > 0 - Accurate seek is the default for the start position of prepare(), setNextMedia() and gaplessSwitch() - OpenGL: Skip uploading video frame to gpu when redrawing - setState(State::Stopped) now clears video renderer viewport and releases video renderer resources - Fix stopping playback is not executed immediately - setState(State::Stopped) now releases host and gpu resouces and clear background color. Normal playback end does not, and still keep the last frame displayed - Fix setState() sometimes does not work - MFT Decoder: - Disable low latency by default only for hevc. Previous release turned off low latency mode for all codecs, then h264 decoding may be too slow - Add property "ignore_profile" and "ignore_level" - Add FFmpeg decoder property "drop" to control decoder frame dropping when seeking - glfwplay example: - new seek options: `-seek_step`, `-seek_any` - support d3d11 rendering using `-d3d11 -gfxthread`
- Loading branch information