[vlc-devel] [PATCH 1/2] player: stop: return a status

Thomas Guillem thomas at gllm.fr
Thu Nov 7 11:42:29 CET 2019


In order to notify the user if he should wait for the stopped event.
---
 include/vlc_player.h | 8 +++++---
 src/player/player.c  | 6 +++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/vlc_player.h b/include/vlc_player.h
index db19966080e..3e382db2484 100644
--- a/include/vlc_player.h
+++ b/include/vlc_player.h
@@ -443,12 +443,14 @@ vlc_player_Start(vlc_player_t *player);
 /**
  * Stop the playback of the current media
  *
- * @note This function is asynchronous. Users should wait on
- * STOPPED state event to know when the stop is finished.
+ * @note This function is asynchronous. In case of success, the user should wait
+ * for the STOPPED state event to know when the stop is finished.
  *
  * @param player locked player instance
+ * @return VLC_SUCCESS if the player is being stopped, VLC_EGENERIC otherwise
+ * (no-op)
  */
-VLC_API void
+VLC_API int
 vlc_player_Stop(vlc_player_t *player);
 
 /**
diff --git a/src/player/player.c b/src/player/player.c
index 22dad216cc7..d624f7e3456 100644
--- a/src/player/player.c
+++ b/src/player/player.c
@@ -1148,7 +1148,7 @@ vlc_player_Start(vlc_player_t *player)
     return ret;
 }
 
-void
+int
 vlc_player_Stop(vlc_player_t *player)
 {
     struct vlc_player_input *input = vlc_player_get_input_locked(player);
@@ -1158,12 +1158,12 @@ vlc_player_Stop(vlc_player_t *player)
     vlc_player_InvalidateNextMedia(player);
 
     if (!input || !player->started)
-        return;
+        return VLC_EGENERIC;
     player->started = false;
 
     vlc_player_destructor_AddInput(player, input);
     player->input = NULL;
-
+    return VLC_SUCCESS;
 }
 
 void
-- 
2.20.1



More information about the vlc-devel mailing list