[vlc-devel] [RFC PATCHv2 07/10] lib: add libvlc_media_track_release

Thomas Guillem thomas at gllm.fr
Thu Jun 4 23:23:22 CEST 2020


---
 include/vlc/libvlc_media_track.h | 12 ++++++++++++
 lib/libvlc.sym                   |  1 +
 lib/media_track.c                |  9 +++++++++
 3 files changed, 22 insertions(+)

diff --git a/include/vlc/libvlc_media_track.h b/include/vlc/libvlc_media_track.h
index 9fb3828433..82aaece3c2 100644
--- a/include/vlc/libvlc_media_track.h
+++ b/include/vlc/libvlc_media_track.h
@@ -199,6 +199,18 @@ libvlc_media_tracklist_at( libvlc_media_tracklist_t *list, size_t index );
 LIBVLC_API void
 libvlc_media_tracklist_release( libvlc_media_tracklist_t *list );
 
+/**
+ * Release a single track
+ *
+ * \version LibVLC 4.0.0 and later.
+ * \warning Don't release tracks from a tracklist with this function. Tracks
+ * from a tracklist are released alongside the list with
+ * libvlc_media_tracklist_release()
+ *
+ * \param track valid track
+ */
+LIBVLC_API void
+libvlc_media_track_release( libvlc_media_track_t *track );
 /** @}*/
 
 # ifdef __cplusplus
diff --git a/lib/libvlc.sym b/lib/libvlc.sym
index a3217c5750..4b886da753 100644
--- a/lib/libvlc.sym
+++ b/lib/libvlc.sym
@@ -86,6 +86,7 @@ libvlc_media_thumbnail_request_by_time
 libvlc_media_thumbnail_request_by_pos
 libvlc_media_thumbnail_request_cancel
 libvlc_media_thumbnail_request_destroy
+libvlc_media_track_release
 libvlc_media_tracklist_at
 libvlc_media_tracklist_count
 libvlc_media_tracklist_release
diff --git a/lib/media_track.c b/lib/media_track.c
index ce7b7bf22f..473ea5589b 100644
--- a/lib/media_track.c
+++ b/lib/media_track.c
@@ -129,6 +129,15 @@ libvlc_media_track_clean( libvlc_media_track_t *track )
     }
 }
 
+void
+libvlc_media_track_release( libvlc_media_track_t *track )
+{
+    libvlc_media_trackpriv_t *trackpriv =
+        container_of( track, libvlc_media_trackpriv_t, t );
+    libvlc_media_track_clean( track );
+    free( trackpriv );
+}
+
 static libvlc_media_tracklist_t *
 libvlc_media_tracklist_alloc( size_t count )
 {
-- 
2.20.1



More information about the vlc-devel mailing list