[vlc-devel] commit: Make distinction between stop and ended status. (Jean-Paul Saman )

git version control git at videolan.org
Sun Jun 15 09:32:16 CEST 2008


vlc | branch: master | Jean-Paul Saman <jpsaman at videolan.org> | Sat Jun 14 22:30:20 2008 +0200| [43a486b582e5aad8ebbe075bcf2071bb8eb72057]

Make distinction between stop and ended status.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=43a486b582e5aad8ebbe075bcf2071bb8eb72057
---

 include/vlc/libvlc_events.h           |    3 ++-
 include/vlc/libvlc_structures.h       |    5 +++--
 include/vlc/mediacontrol_structures.h |    4 ++--
 include/vlc_input.h                   |    3 ++-
 modules/control/dbus.c                |    2 +-
 modules/gui/ncurses.c                 |    4 ++++
 src/control/event.c                   |    3 ++-
 src/control/media_list_player.c       |    8 ++++----
 src/control/media_player.c            |   16 +++++++++++-----
 src/control/mediacontrol_core.c       |    7 +++++--
 10 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/include/vlc/libvlc_events.h b/include/vlc/libvlc_events.h
index 024c8ee..cd2acc2 100644
--- a/include/vlc/libvlc_events.h
+++ b/include/vlc/libvlc_events.h
@@ -52,9 +52,10 @@ typedef enum libvlc_event_type_t {
     libvlc_MediaPlayerBuffering,
     libvlc_MediaPlayerPlaying,
     libvlc_MediaPlayerPaused,
-    libvlc_MediaPlayerEndReached,
+    libvlc_MediaPlayerStopped,
     libvlc_MediaPlayerForward,
     libvlc_MediaPlayerBackward,
+    libvlc_MediaPlayerEndReached,
     libvlc_MediaPlayerEncounteredError,
     libvlc_MediaPlayerTimeChanged,
     libvlc_MediaPlayerPositionChanged,
diff --git a/include/vlc/libvlc_structures.h b/include/vlc/libvlc_structures.h
index 2b33252..f2eebd9 100644
--- a/include/vlc/libvlc_structures.h
+++ b/include/vlc/libvlc_structures.h
@@ -125,7 +125,7 @@ typedef struct libvlc_media_player_t libvlc_media_player_t;
  *
  * Expected states by web plugins are:
  * IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4,
- * STOPPING=5, FORWARD=6, BACKWARD=7, ERROR=8
+ * STOPPING=5, FORWARD=6, BACKWARD=7, ENDED=8, ERROR=9
  */
 typedef enum libvlc_state_t
 {
@@ -134,9 +134,10 @@ typedef enum libvlc_state_t
     libvlc_Buffering,
     libvlc_Playing,
     libvlc_Paused,
-    libvlc_Ended,
+    libvlc_Stopped,
     libvlc_Forward,
     libvlc_Backward,
+    libvlc_Ended,
     libvlc_Error
 } libvlc_state_t;
 
diff --git a/include/vlc/mediacontrol_structures.h b/include/vlc/mediacontrol_structures.h
index af46b64..dbcf5aa 100644
--- a/include/vlc/mediacontrol_structures.h
+++ b/include/vlc/mediacontrol_structures.h
@@ -68,9 +68,9 @@ typedef enum {
 typedef enum {
     mediacontrol_UndefinedStatus=0, mediacontrol_InitStatus,
     mediacontrol_BufferingStatus, mediacontrol_PlayingStatus,
-    mediacontrol_PauseStatus,     mediacontrol_EndStatus,
+    mediacontrol_PauseStatus,     mediacontrol_StopStatus,
     mediacontrol_ForwardStatus,   mediacontrol_BackwardStatus,
-    mediacontrol_ErrorStatus,
+    mediacontrol_EndStatus,       mediacontrol_ErrorStatus,
 } mediacontrol_PlayerStatus;
 
 /**
diff --git a/include/vlc_input.h b/include/vlc_input.h
index 0cec28c..7e155f7 100644
--- a/include/vlc_input.h
+++ b/include/vlc_input.h
@@ -532,9 +532,10 @@ enum input_state_e
     BUFFERING_S,
     PLAYING_S,
     PAUSE_S,
-    END_S,
+    STOP_S,
     FORWARD_S,
     BACKWARD_S,
+    END_S,
     ERROR_S
 };
 
diff --git a/modules/control/dbus.c b/modules/control/dbus.c
index 6421872..20e796d 100644
--- a/modules/control/dbus.c
+++ b/modules/control/dbus.c
@@ -949,7 +949,7 @@ static int StateChange( vlc_object_t *p_this, const char* psz_var,
     }
 
     if( newval.i_int == PLAYING_S || newval.i_int == PAUSE_S ||
-        newval.i_int == END_S )
+        newval.i_int == STOP_S ||  newval.i_int == END_S )
     {
         StatusChangeSignal( p_sys->p_conn, (void*) p_intf );
     }
diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c
index cba2405..91c55c6 100644
--- a/modules/gui/ncurses.c
+++ b/modules/gui/ncurses.c
@@ -1558,6 +1558,10 @@ static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh )
         {
             mvnprintw( y++, 0, COLS, _(" State    : Playing %s"), psz_state );
         }
+        else if( val.i_int == STOP_S )
+        {
+            mvnprintw( y++, 0, COLS, _(" State    : Stopped %s"), psz_state );
+        }
         else if( val.i_int == OPENING_S )
         {
             mvnprintw( y++, 0, COLS, _(" State    : Opening/Connecting %s"), psz_state );
diff --git a/src/control/event.c b/src/control/event.c
index c22e22a..dc0d643 100644
--- a/src/control/event.c
+++ b/src/control/event.c
@@ -244,9 +244,10 @@ static const char event_type_to_name[][35] =
     EVENT(libvlc_MediaPlayerBuffering),
     EVENT(libvlc_MediaPlayerPlaying),
     EVENT(libvlc_MediaPlayerPaused),
-    EVENT(libvlc_MediaPlayerEndReached),
+    EVENT(libvlc_MediaPlayerStopped),
     EVENT(libvlc_MediaPlayerForward),
     EVENT(libvlc_MediaPlayerBackward),
+    EVENT(libvlc_MediaPlayerEndReached),
     EVENT(libvlc_MediaPlayerTimeChanged),
     EVENT(libvlc_MediaPlayerPositionChanged),
     EVENT(libvlc_MediaPlayerSeekableChanged),
diff --git a/src/control/media_list_player.c b/src/control/media_list_player.c
index 0c26244..6b2bbf9 100644
--- a/src/control/media_list_player.c
+++ b/src/control/media_list_player.c
@@ -435,7 +435,7 @@ void libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
 {
     if ( p_mlp->p_mi )
     {
-        libvlc_media_player_stop( p_mlp->p_mi, p_e );        
+        libvlc_media_player_stop( p_mlp->p_mi, p_e );
     }
 
     vlc_mutex_lock( &p_mlp->object_lock );
@@ -449,7 +449,7 @@ void libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
  **************************************************************************/
 void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
                                     libvlc_exception_t * p_e )
-{    
+{
     libvlc_media_list_path_t path;
 
     if (! p_mlp->p_mlist )
@@ -457,7 +457,7 @@ void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
         libvlc_exception_raise( p_e, "No more element to play" );
         return;
     }
-    
+
     libvlc_media_list_lock( p_mlp->p_mlist );
 
     path = get_next_path( p_mlp );
@@ -471,7 +471,7 @@ void libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
     }
 
     set_current_playing_item( p_mlp, path, p_e );
-    
+
     libvlc_media_player_play( p_mlp->p_mi, p_e );
 
     libvlc_media_list_unlock( p_mlp->p_mlist );
diff --git a/src/control/media_player.c b/src/control/media_player.c
index 9b70266..08fb60b 100644
--- a/src/control/media_player.c
+++ b/src/control/media_player.c
@@ -56,9 +56,10 @@ static const libvlc_state_t vlc_to_libvlc_state_array[] =
     [BUFFERING_S]   = libvlc_Buffering,
     [PLAYING_S]     = libvlc_Playing,
     [PAUSE_S]       = libvlc_Paused,
-    [END_S]         = libvlc_Ended,
+    [STOP_S]        = libvlc_Stopped,
     [FORWARD_S]     = libvlc_Forward,
     [BACKWARD_S]    = libvlc_Backward,
+    [END_S]         = libvlc_Ended,
     [ERROR_S]       = libvlc_Error,
 };
 
@@ -166,9 +167,9 @@ input_state_changed( const vlc_event_t * event, void * p_userdata )
             libvlc_media_set_state( p_mi->p_md, libvlc_Paused, NULL);
             forwarded_event.type = libvlc_MediaPlayerPaused;
             break;
-        case END_S:
-            libvlc_media_set_state( p_mi->p_md, libvlc_Ended, NULL);
-            forwarded_event.type = libvlc_MediaPlayerEndReached;
+        case STOP_S:
+            libvlc_media_set_state( p_mi->p_md, libvlc_Stopped, NULL);
+            forwarded_event.type = libvlc_MediaPlayerStopped;
             break;
         case FORWARD_S:
             libvlc_media_set_state( p_mi->p_md, libvlc_Forward, NULL);
@@ -178,6 +179,9 @@ input_state_changed( const vlc_event_t * event, void * p_userdata )
             libvlc_media_set_state( p_mi->p_md, libvlc_Backward, NULL);
             forwarded_event.type = libvlc_MediaPlayerBackward;
             break;
+        case END_S:
+            libvlc_media_set_state( p_mi->p_md, libvlc_Ended, NULL);
+            forwarded_event.type = libvlc_MediaPlayerEndReached;
         case ERROR_S:
             libvlc_media_set_state( p_mi->p_md, libvlc_Error, NULL);
             forwarded_event.type = libvlc_MediaPlayerEncounteredError;
@@ -350,12 +354,14 @@ libvlc_media_player_new( libvlc_instance_t * p_libvlc_instance,
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
             libvlc_MediaPlayerPaused, p_e );
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
-            libvlc_MediaPlayerEndReached, p_e );
+            libvlc_MediaPlayerStopped, p_e );
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
             libvlc_MediaPlayerForward, p_e );
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
             libvlc_MediaPlayerBackward, p_e );
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
+            libvlc_MediaPlayerEndReached, p_e );
+    libvlc_event_manager_register_event_type( p_mi->p_event_manager,
             libvlc_MediaPlayerEncounteredError, p_e );
 
     libvlc_event_manager_register_event_type( p_mi->p_event_manager,
diff --git a/src/control/mediacontrol_core.c b/src/control/mediacontrol_core.c
index dc5390f..8ed878b 100644
--- a/src/control/mediacontrol_core.c
+++ b/src/control/mediacontrol_core.c
@@ -376,8 +376,8 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
         case libvlc_Paused:
             retval->streamstatus = mediacontrol_PauseStatus;
             break;
-        case libvlc_Ended:
-            retval->streamstatus = mediacontrol_EndStatus;
+        case libvlc_Stopped:
+            retval->streamstatus = mediacontrol_StopStatus;
             break;
         case libvlc_Forward:
             retval->streamstatus = mediacontrol_ForwardStatus;
@@ -385,6 +385,9 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
         case libvlc_Backward:
             retval->streamstatus = mediacontrol_BackwardStatus;
             break;
+        case libvlc_Ended:
+            retval->streamstatus = mediacontrol_EndStatus;
+            break;
         case libvlc_Error:
             retval->streamstatus = mediacontrol_ErrorStatus;
             break;




More information about the vlc-devel mailing list