diff --git a/include/vlc/libvlc.h b/include/vlc/libvlc.h index e84b0604bd..5db499d71c 100644 --- a/include/vlc/libvlc.h +++ b/include/vlc/libvlc.h @@ -181,8 +181,9 @@ LIBVLC_API void libvlc_release( libvlc_instance_t *p_instance ); * The initial reference count is 1 after libvlc_new() returns. * * \param p_instance the instance to reference + * \return the same object */ -LIBVLC_API void libvlc_retain( libvlc_instance_t *p_instance ); +LIBVLC_API libvlc_instance_t *libvlc_retain( libvlc_instance_t *p_instance ); /** * Get the ABI version of the libvlc library. diff --git a/lib/core.c b/lib/core.c index b37c031043..761a93384c 100644 --- a/lib/core.c +++ b/lib/core.c @@ -82,11 +82,12 @@ error: return NULL; } -void libvlc_retain( libvlc_instance_t *p_instance ) +libvlc_instance_t *libvlc_retain( libvlc_instance_t *p_instance ) { assert( p_instance != NULL ); vlc_atomic_rc_inc( &p_instance->ref_count ); + return p_instance; } void libvlc_release( libvlc_instance_t *p_instance )