newCX and newCY were being changed when a sample was received. However,
the sample associated with that size change will not be processed until
it's used in Preprocess, so it could often change the texture size
before the sample was even used. This could cause crashes under certain
circumstances.
A simple fix to this is to only change newCX/newCY when the sample is
actually used.
In the case in which you just started up the dialog, the strDevice
variable would be set to null, so it would not be able to check to make
sure whether the device is actually an Elgato or not, so just ignore
setting the use buffering checkbox if there is no strDevice set
Elgato Game Capture supports IAMStreamConfig since v.2.20 which makes
some workarounds obsolete
- added flags elgatoSupportsIAMStreamConfig and elgatoCanRenderFromPin
- added symbolic constant ELGATO_WORKAROUND
Use CLSID as provided in header file instead of redefining it in code
- added helper function GUIDToString() (although this functionality is
already in n OBSNVEnc\src\nvmain: guidToString())
If using the elgato 1.x.x filter it would not properly set resolution
changes due to intermediary filters. Change to direct connect to
prevent that issue from occurring.
The resolution changes can really cause confusion when updating, so if
the source is an elgato, just always reset the filter to ensure the
resolution changes.
Managed to make it so that the elgatos can change resolutions without
necessarily having to replace the entire subsystem. I almost didn't
think this was doable but I made a workaround to be able to do so.
- Add an option in game capture to use SetWindowsHookEx instead of
CreateRemoteThread to inject the library.
- Add logging of what process game capture is trying to capture.
- Rename "audio time offset" where it was used to "audio sync offset"
- Adde logging for audio sync offsets
- Update version to 0.62b test 1
Each invocation of the async interface now ultimately produces a unique shader
object, so multiple users of the same shader file don't share the same shader
parameters and samplers