decklink-output-ui: Update Decklink output to use canvases#12442
Conversation
|
Just a nitpick: The plural of the word "canvas" is "canvases", not "canvasses". |
abcf75a to
81d7723
Compare
|
Updated to fix the spelling of canvases |
|
I've cherry picked this PR on v32.0.2 and it works fine for me. My initialy impressions is also that there appears to be less of a performance penalty compared to the old code. Enabling it on 1920x1080 used to cost me ~3ms render time. Now it is probably more around 1ms. |
derrod
left a comment
There was a problem hiding this comment.
I don't have a DeckLink card to test, but it does look fine to me.
PatTheMav
left a comment
There was a problem hiding this comment.
Don't have the hardware to test this, so I have to rely on other users confirming that. No further comments apart from code-style changes.
b376962 to
74c2244
Compare
PatTheMav
left a comment
There was a problem hiding this comment.
Maybe I'm missing something, but as far as I can tell on_preview_scene_changed was originally used with obs_frontend_remove_event_callback to register a frontend API callback.
But in the changed code I don't see any call to obs_frontend_remove_event_callback to do the same, which suggests to me that the existence of onPreviewSceneChanged is now superfluous?
Is the corresponding use case (handling a change of the preview scene) now handled implicitly?
Canvases were introduced in 31.1.0. This updates the Decklink output to use them.
74c2244 to
50f63e7
Compare
|
Updated to fix the missing event callback functions. |
|
If there were bugs regarding the preview, I guess I never tested it with my DeckLink card (I only tested program output). I can offer testing it, but if @cg2121 has one, it probably doesn't make much sense if I do it. |
|
Tested this pretty extensively on an Intensity Pro 4k, and also a Decklink IP 100G. No issues, outside of this PR exposing an issue with libobs' handling of canvas signals. As such, this PR should only be merged once #13574 is, in order to avoid crashes on preview output stop. |
tt2468
left a comment
There was a problem hiding this comment.
Was messing around with this a bit more, and it seems like it doesn't handle preview enable/disable events. When enabling preview, the preview scene isn't updated on the canvas, and similarly for disabling, the preview scene stays outputting, even though studio mode is disabled.
Description
Canvasses were introduced in 31.1.0. This updates the Decklink output to use them.
Motivation and Context
Much less code.
How Has This Been Tested?
Tested Decklink main and preview outputs.
Types of changes
Checklist: