mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
libobs: Add obs_weak_source_expired()
This commit is contained in:
parent
a78558b46a
commit
9819cb2924
@ -554,6 +554,12 @@ static inline bool obs_weak_ref_get_ref(struct obs_weak_ref *ref)
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool obs_weak_ref_expired(struct obs_weak_ref *ref)
|
||||
{
|
||||
long owners = os_atomic_load_long(&ref->refs);
|
||||
return owners < 0;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* sources */
|
||||
|
||||
|
@ -774,6 +774,11 @@ obs_source_t *obs_weak_source_get_source(obs_weak_source_t *weak)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool obs_weak_source_expired(obs_weak_source_t *weak)
|
||||
{
|
||||
return weak ? obs_weak_ref_expired(&weak->ref) : true;
|
||||
}
|
||||
|
||||
bool obs_weak_source_references_source(obs_weak_source_t *weak,
|
||||
obs_source_t *source)
|
||||
{
|
||||
|
@ -900,6 +900,7 @@ EXPORT void obs_weak_source_release(obs_weak_source_t *weak);
|
||||
EXPORT obs_source_t *obs_source_get_ref(obs_source_t *source);
|
||||
EXPORT obs_weak_source_t *obs_source_get_weak_source(obs_source_t *source);
|
||||
EXPORT obs_source_t *obs_weak_source_get_source(obs_weak_source_t *weak);
|
||||
EXPORT bool obs_weak_source_expired(obs_weak_source_t *weak);
|
||||
|
||||
EXPORT bool obs_weak_source_references_source(obs_weak_source_t *weak,
|
||||
obs_source_t *source);
|
||||
|
Loading…
Reference in New Issue
Block a user