[vlc-devel] [PATCH] media_list: remove useless instance
Alexandre Janniaux
ajanni at videolabs.io
Thu Jul 16 11:04:36 CEST 2020
Hi,
LGTM, this looks like very good idea for the clarity of the
API.
Regards,
--
Alexandre Janniaux
Videolabs
On Wed, Jul 15, 2020 at 07:28:41PM +0300, RĂ©mi Denis-Courmont wrote:
> This is just instance-independent data.
> The player provides the instance.
> ---
> include/vlc/libvlc_media_list.h | 4 +---
> lib/media.c | 2 +-
> lib/media_discoverer.c | 2 +-
> lib/media_list.c | 6 +-----
> lib/media_list_internal.h | 1 -
> 5 files changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/include/vlc/libvlc_media_list.h b/include/vlc/libvlc_media_list.h
> index 95f24a5c03..2a25406af7 100644
> --- a/include/vlc/libvlc_media_list.h
> +++ b/include/vlc/libvlc_media_list.h
> @@ -40,11 +40,9 @@ typedef struct libvlc_media_list_t libvlc_media_list_t;
> /**
> * Create an empty media list.
> *
> - * \param p_instance libvlc instance
> * \return empty media list, or NULL on error
> */
> -LIBVLC_API libvlc_media_list_t *
> - libvlc_media_list_new( libvlc_instance_t *p_instance );
> +LIBVLC_API libvlc_media_list_t *libvlc_media_list_new(void);
>
> /**
> * Release media list created with libvlc_media_list_new().
> diff --git a/lib/media.c b/lib/media.c
> index e25d439a8a..e84f0e7398 100644
> --- a/lib/media.c
> +++ b/lib/media.c
> @@ -141,7 +141,7 @@ static libvlc_media_list_t *media_get_subitems( libvlc_media_t * p_md,
> vlc_mutex_lock( &p_md->subitems_lock );
> if( p_md->p_subitems == NULL && b_create )
> {
> - p_md->p_subitems = libvlc_media_list_new( p_md->p_libvlc_instance );
> + p_md->p_subitems = libvlc_media_list_new();
> if( p_md->p_subitems != NULL )
> {
> p_md->p_subitems->b_read_only = true;
> diff --git a/lib/media_discoverer.c b/lib/media_discoverer.c
> index 763e955590..6fcab48eca 100644
> --- a/lib/media_discoverer.c
> +++ b/lib/media_discoverer.c
> @@ -158,7 +158,7 @@ libvlc_media_discoverer_new( libvlc_instance_t * p_inst, const char * psz_name )
> }
>
> p_mdis->p_libvlc_instance = p_inst;
> - p_mdis->p_mlist = libvlc_media_list_new( p_inst );
> + p_mdis->p_mlist = libvlc_media_list_new();
> p_mdis->p_mlist->b_read_only = true;
> p_mdis->p_sd = NULL;
>
> diff --git a/lib/media_list.c b/lib/media_list.c
> index e8a8a25881..c747778d47 100644
> --- a/lib/media_list.c
> +++ b/lib/media_list.c
> @@ -146,8 +146,7 @@ bool mlist_is_writable( libvlc_media_list_t *p_mlist )
> *
> * Init an object.
> **************************************************************************/
> -libvlc_media_list_t *
> -libvlc_media_list_new( libvlc_instance_t * p_inst )
> +libvlc_media_list_t *libvlc_media_list_new(void)
> {
> libvlc_media_list_t * p_mlist;
>
> @@ -158,7 +157,6 @@ libvlc_media_list_new( libvlc_instance_t * p_inst )
> return NULL;
> }
>
> - p_mlist->p_libvlc_instance = p_inst;
> libvlc_event_manager_init( &p_mlist->event_manager, p_mlist );
> p_mlist->b_read_only = false;
>
> @@ -171,7 +169,6 @@ libvlc_media_list_new( libvlc_instance_t * p_inst )
> p_mlist->p_md = NULL;
> p_mlist->p_internal_md = NULL;
>
> - libvlc_retain( p_inst );
> return p_mlist;
> }
>
> @@ -204,7 +201,6 @@ void libvlc_media_list_release( libvlc_media_list_t * p_mlist )
>
> vlc_array_clear( &p_mlist->items );
>
> - libvlc_release( p_mlist->p_libvlc_instance );
> free( p_mlist );
> }
>
> diff --git a/lib/media_list_internal.h b/lib/media_list_internal.h
> index 0321558916..82c1482148 100644
> --- a/lib/media_list_internal.h
> +++ b/lib/media_list_internal.h
> @@ -36,7 +36,6 @@
> struct libvlc_media_list_t
> {
> libvlc_event_manager_t event_manager;
> - libvlc_instance_t * p_libvlc_instance;
> int i_refcount;
> vlc_mutex_t object_lock;
> vlc_mutex_t refcount_lock;
> --
> 2.28.0.rc0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list