JPEG Saver 5.28
Published
I was never happy with the way video worked in JPEG Saver, so I have gone back and looked at it again. Actually I never stopped looking at it, but I've stopped looking and taken action this time.
Video again
I added support for playing video back in version 5.8, in mid-2020. I used Microsoft Media Foundation, because that is what the Microsoft documentation recommended and because it is supposed to be well supported in Windows. It works fine.
The problem that I had with it was that the default way for Media Foundation's Media Session to output video is directly to a window, filling it with the video frames as and when they are supposed to be displayed. That meant using a dedicated window for the video that sits on top of JPEG Saver's main window and does nothing else. I couldn't draw anything on it without it being written over by the next frame, and JPEG Saver's status messages and information items would end up hidden behind the video window.
The solution
I wrote my own video renderer class and plugged it into the Media Session topology. This takes decoded frames from the session, fixes the colour format, then outputs a Direct3D texture that JPEG Saver's main display renderer can use to paint the video on the screen. Text can appear on top of that, which is the main problem I was trying to fix.
(For anyone else wanting to do something like this, the interfaces I had
to implement were IMFMediaSink
,
IMFClockStateSink
,
IMFStreamSink
and
IMFMediaTypeHandler
.)
If you have trouble with the new renderer, there is an option in the video section of the config dialog where you can switch back to the older, windowed method.
More video updates
Apart from changing the renderer I also made some improvements to how JPEG Saver handles video. There are new hotkeys for restarting the video and toggling video repeat mode, the audio mute hotkey now works between videos and when audio is disabled from the config dialog, and the hotkeys for jumping around within the video now work better.
Other changes
Someone suggested adding the option to unmap keys in the keymap editor, so that is now possible. What that means is that you can choose a command, and instead of setting its hotkey you can set it to “No key”.
There are also a couple of bugs fixed in this version. There was a crash when only one image was available to display and some specific options were set. Shuffled mode was repeating the same sequence when there were only a few images. Duplicated folders in the folder list were causing problems when some were enabled and some not enabled. Duplicated folders are not allowed any more, and they didn't do anything useful before anyway.
Download it here
The updated installers are available from the downloads page.