Deprecates:
obs_source_addref()
obs_output_addref()
obs_encoder_addref()
obs_service_addref()
obs_scene_addref()
These functions should be considered unsafe and not used. Instead, use:
obs_source_get_ref()
obs_output_get_ref()
obs_encoder_get_ref()
obs_service_get_ref()
obs_scene_get_ref()
These functions return a pointer to the incremented object only if the
object is still valid, otherwise they will return null, indicating that
the object is no longer valid or is unsafe to use.
The reason why this is being done is because certain third party plugins
seem to be using addref, and are somehow managing to call addref on
sources that have already been fully released. For the sake of safety,
almost all usage of these functions within OBS have also been replaced
as well.
- Changes the note under obs_sceneitem_get_id(). Getting the id of a
sceneitem is not dangerous and does not cause errors. Only
obs_sceneitem_set_id() can cause errors.
- Changes wording on `obs_group_or_scene_from_source()`
Adds API:
obs_scene_add_group2
obs_scene_insert_group2
obs_sceneitem_group_ungroup2
These functions should be used by plugins if they need to use these
functions and need to send a refresh signal. If a major API rework ever
happens the old functions should be removed. The old functions should
eventually be deprecated.
The reason why specifying a 'signal' parameter is useful is because it's
a bit more seamless for the user interface to be able to have custom
handling of these specific cases. It looks better and doesn't require
completely erasing/recreating the entire list, which is visually
unappealing.
Similar to item_visible, this event fires whenever a scene item is
locked or unlocked. This allows the UI and libobs to remain in sync
regarding scene elements' statuses.
Allows the ability to group scene items. Groups internally are
sub-scenes, which allows the ability to add unique filters and
transforms to each group.