[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