<html><head></head><body>Nit: zero is plural in English.<br><br><div class="gmail_quote">Le 15 mai 2019 12:53:17 GMT+03:00, Romain Vimont <rom1v@videolabs.io> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">libvlc_media_player_stop() was the only blocking function, the others<br>(play, pause…) were asynchronous.<br><br>Add a function which stop asynchronously.<hr> include/vlc/libvlc_media_player.h | 12 +++++++++++-<br> lib/media_player.c                | 10 ++++++++++<br> 2 files changed, 21 insertions(+), 1 deletion(-)<br><br>diff --git a/include/vlc/libvlc_media_player.h b/include/vlc/libvlc_media_player.h<br>index 3fc0b6a644..363d3f21f4 100644<br>--- a/include/vlc/libvlc_media_player.h<br>+++ b/include/vlc/libvlc_media_player.h<br>@@ -267,12 +267,22 @@ LIBVLC_API void libvlc_media_player_set_pause ( libvlc_media_player_t *mp,<br> LIBVLC_API void libvlc_media_player_pause ( libvlc_media_player_t *p_mi );<br> <br> /**<br>- * Stop (no effect if there is no media)<br>+ * Stop synchronously (no effect if there is no media)<br>+ *<br>+ * This function blocks until the input thread is actually stopped.<br>+ * Prefer libvlc_media_player_stop_async().<br>  *<br>  * \param p_mi the Media Player<br>  */<br> LIBVLC_API void libvlc_media_player_stop ( libvlc_media_player_t *p_mi );<br> <br>+/**<br>+ * Stop (no effect if there is no media)<br>+ *<br>+ * \param p_mi the Media Player<br>+ */<br>+LIBVLC_API void libvlc_media_player_stop_async ( libvlc_media_player_t *p_mi );<br>+<br> /**<br>  * Set a renderer to the media player<br>  *<br>diff --git a/lib/media_player.c b/lib/media_player.c<br>index e5f6fc32a7..33d863f48d 100644<br>--- a/lib/media_player.c<br>+++ b/lib/media_player.c<br>@@ -974,6 +974,16 @@ int libvlc_media_player_is_playing( libvlc_media_player_t *p_mi )<br> /**************************************************************************<br>  * Stop playing.<br>  **************************************************************************/<br>+void libvlc_media_player_stop_async( libvlc_media_player_t *p_mi )<br>+{<br>+    vlc_player_t *player = p_mi->player;<br>+    vlc_player_Lock(player);<br>+<br>+    vlc_player_Stop(player);<br>+<br>+    vlc_player_Unlock(player);<br>+}<br>+<br> void libvlc_media_player_stop( libvlc_media_player_t *p_mi )<br> {<br>     vlc_player_t *player = p_mi->player;</pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>