]> git.sesse.net Git - vlc/blobdiff - src/control/mediacontrol_core.c
HTTPd: stat -> utf8_stat
[vlc] / src / control / mediacontrol_core.c
index 997f41247b18a32ab0c713b8796aec6fdf9878ab..7fd47341b021f621afcb0ae6ee5d6dea9712a008 100644 (file)
@@ -208,7 +208,7 @@ mediacontrol_start( mediacontrol_Instance *self,
     {
         /* A media was defined. Get its mrl to reuse it, but reset the options
            (because start-time may have been set on the previous invocation */
-        psz_name = libvlc_media_get_mrl( p_media, &ex );
+        psz_name = libvlc_media_get_mrl( p_media );
         HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
 
         /* Create a new media */
@@ -224,7 +224,7 @@ mediacontrol_start( mediacontrol_Instance *self,
             psz_from = ( char * )malloc( 20 * sizeof( char ) );
             i_from = private_mediacontrol_position2microsecond( self->p_media_player, a_position ) / 1000000;
             snprintf( psz_from, 20, "start-time=%"PRId64, i_from );
-            libvlc_media_add_option( p_media, psz_from, &ex );
+            libvlc_media_add_option( p_media, psz_from );
             HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
         }
 
@@ -315,7 +315,7 @@ mediacontrol_get_mrl( mediacontrol_Instance *self,
     {
         char * psz_mrl;
 
-        psz_mrl = libvlc_media_get_mrl( p_media, &ex );
+        psz_mrl = libvlc_media_get_mrl( p_media );
         HANDLE_LIBVLC_EXCEPTION_NULL( &ex );
         return psz_mrl;
     }
@@ -330,6 +330,7 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
                                      mediacontrol_PositionKey a_key,
                                      mediacontrol_Exception *exception )
 {
+    (void)a_key;
     mediacontrol_StreamInformation *retval = NULL;
     libvlc_media_t * p_media;
     libvlc_exception_t ex;
@@ -345,7 +346,14 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
     }
 
     p_media = libvlc_media_player_get_media( self->p_media_player, &ex );
-    HANDLE_LIBVLC_EXCEPTION_NULL( &ex );
+    if( libvlc_exception_raised( &ex ) )
+    {
+        free( retval );
+        RAISE( mediacontrol_InternalException, libvlc_errmsg( ) );
+        libvlc_exception_clear( &ex );
+        return NULL;
+    }
+
     if( ! p_media )
     {
         /* No p_media defined */
@@ -357,8 +365,16 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
     else
     {
         libvlc_state_t state;
+
         state = libvlc_media_player_get_state( self->p_media_player, &ex );
-        HANDLE_LIBVLC_EXCEPTION_NULL( &ex );
+        if( libvlc_exception_raised( &ex ) )
+        {
+            free( retval );
+            RAISE( mediacontrol_InternalException, libvlc_errmsg() );
+            libvlc_exception_clear( &ex );
+            return NULL;
+        }
+
         switch( state )
         {
         case libvlc_NothingSpecial:
@@ -379,12 +395,6 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
         case libvlc_Stopped:
             retval->streamstatus = mediacontrol_StopStatus;
             break;
-        case libvlc_Forward:
-            retval->streamstatus = mediacontrol_ForwardStatus;
-            break;
-        case libvlc_Backward:
-            retval->streamstatus = mediacontrol_BackwardStatus;
-            break;
         case libvlc_Ended:
             retval->streamstatus = mediacontrol_EndStatus;
             break;
@@ -396,8 +406,8 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
             break;
         }
 
-        retval->url = libvlc_media_get_mrl( p_media, &ex );
-       
+        retval->url = libvlc_media_get_mrl( p_media );
+
         retval->position = libvlc_media_player_get_time( self->p_media_player, &ex );
         if( libvlc_exception_raised( &ex ) )
         {