]> git.sesse.net Git - vlc/commitdiff
Make distinction between stop and ended status.
authorJean-Paul Saman <jpsaman@videolan.org>
Sat, 14 Jun 2008 20:30:20 +0000 (22:30 +0200)
committerJean-Paul Saman <jpsaman@videolan.org>
Sun, 15 Jun 2008 07:34:07 +0000 (09:34 +0200)
include/vlc/libvlc_events.h
include/vlc/libvlc_structures.h
include/vlc/mediacontrol_structures.h
include/vlc_input.h
modules/control/dbus.c
modules/gui/ncurses.c
src/control/event.c
src/control/media_list_player.c
src/control/media_player.c
src/control/mediacontrol_core.c

index 024c8eef76375a44fc8e2a18d417bad13dca4e7a..cd2acc2cdbab3a07c0e148f0edbfdf63a9e0dca8 100644 (file)
@@ -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,
index 2b33252d3532c5aea68d2cf894b11721bc037fe9..f2eebd9c6390cb21cd709e9911549d3eb8f62f49 100644 (file)
@@ -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;
 
index af46b64ea213945b967dda521b87d2e0f63dc453..dbcf5aae5a6fd6f3b3df4bbbb653ae416bebda61 100644 (file)
@@ -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;
 
 /**
index 0cec28cb91519e2426214c2f2e2142986c05ca9b..7e155f77245664ba05503b303bb93d131acc1300 100644 (file)
@@ -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
 };
 
index 64218720874beea7affd581d6b7f4c1fad1e63c8..20e796def520d57892e54a9718a4c12dcb07b090 100644 (file)
@@ -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 );
     }
index cba2405aa6cab3fcbb0f96515dfad9e215e10ac0..91c55c6cbd022c526a66efeb683b0c3eb69702cd 100644 (file)
@@ -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 );
index c22e22a0775099d643e1e6a813229e447fb54072..dc0d64345b3fa26d729192a12bbd9ff89049c830 100644 (file)
@@ -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),
index 0c26244c11cab11b655b1b6556b7593f97b7bc1d..6b2bbf975498ba38a28d1666551d21cc6e162a90 100644 (file)
@@ -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 );
index 9b70266df680df1c4587a267e75045dbc036a178..08fb60b729e239908d1c4535dd94c39c7b91c6c2 100644 (file)
@@ -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,11 +354,13 @@ 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 );
 
index dc5390f6df52ebf45600ec1157bb9f7075a4560c..8ed878b9574ee810beb86be543737112bdbbe188 100644 (file)
@@ -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;