-
-
Notifications
You must be signed in to change notification settings - Fork 7.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UI: Add support for additional canvases to multitrack video output #10635
base: master
Are you sure you want to change the base?
UI: Add support for additional canvases to multitrack video output #10635
Conversation
ce1b263
to
c03b4fb
Compare
6dcd68c
to
d404b1b
Compare
420b8d7
to
60f2951
Compare
#10633 was merged some time ago. This will need to be rebased and get CI to pass. |
60f2951
to
7c05363
Compare
@palana It looks like the build failures are still present. |
7c05363
to
8dffc0a
Compare
@@ -11053,6 +11053,33 @@ QColor OBSBasic::GetSelectionColor() const | |||
} | |||
} | |||
|
|||
const std::vector<MultitrackVideoViewInfo> & | |||
OBSBasic::GetAdditionalMultitrackVideoViews() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does nothing but return a copy of the value. Probably fine to fetch the value directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure I follow, this returns a const reference, rather than a copy (i.e. you're allowed to read entries, but not modify them)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tt2468 Could you clarify the concern here?
blog(LOG_WARNING, | ||
"Failed to get obs_video_info while creating encoder %zu", | ||
encoder_index); | ||
throw MultitrackVideoError::warning( | ||
QTStr("FailedToStartStream.FailedToGetOBSVideoInfo") | ||
.arg(name_buffer->array, encoder_type)); | ||
} | ||
obs_video_info *ovi = &ovi_storage; | ||
|
||
const char *view_name = nullptr; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably safer as std::string.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
safer in what way? encoder_config
can't be modified in here (unless someone adds a const cast?), so the pointer (once assigned) stays valid for this scope at least (and it's not used outside of this scope)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tt2468 Could you clarify the concern here?
3d41885
to
dabc2f6
Compare
Co-authored-by: Ruwen Hahn <[email protected]>
…nregister rename `void*` argument
…nregister add prefix to callback types
…nregister add name parameter to callbacks
add name parameter to callbacks
…nregister Update documentation to reflect latest code changes.
dabc2f6
to
212f177
Compare
Description
Adds frontend API calls to allow plugins to register additional canvases/video outputs that will participate in multitrack video configuration generation and multitrack video streams
Motivation and Context
Currently additional views/canvases have to use separate rtmp connections or similar to be streamed, where the multitrack video output allows both multiple renditions of the same view and also different views to be streamed
How Has This Been Tested?
Twitch Enhanced Broadcasting beta
Types of changes
Checklist: