]> git.sesse.net Git - vlc/blobdiff - src/control/mediacontrol_util.c
LibVLC: enable mouse events by default
[vlc] / src / control / mediacontrol_util.c
index e86646fb1a92b45759f0a93c3d56b372d17b24fb..965f853e08c27b36a86d0f4a5859b192eb1c6b70 100644 (file)
 #include <stdlib.h>                                      /* malloc(), free() */
 #include <string.h>
 
-#include <errno.h>                                                 /* ENOMEM */
 #include <stdio.h>
-#include <ctype.h>
 
 #ifdef HAVE_UNISTD_H
 #    include <unistd.h>
 #endif
-#ifdef HAVE_SYS_TIME_H
-#    include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#    include <sys/types.h>
-#endif
+#include <sys/types.h>
 
 libvlc_time_t private_mediacontrol_unit_convert( libvlc_media_player_t *p_media_player,
                                                  mediacontrol_PositionKey from,
@@ -73,10 +66,8 @@ libvlc_time_t private_mediacontrol_unit_convert( libvlc_media_player_t *p_media_
         if( to == mediacontrol_SampleCount )
         {
             double f_fps;
-            libvlc_exception_t ex;
-            libvlc_exception_init( &ex );
 
-            f_fps = libvlc_media_player_get_rate( p_media_player, &ex );
+            f_fps = libvlc_media_player_get_rate( p_media_player );
             if( f_fps < 0 )
                 return 0;
             else
@@ -89,10 +80,8 @@ libvlc_time_t private_mediacontrol_unit_convert( libvlc_media_player_t *p_media_
     case mediacontrol_SampleCount:
     {
         double f_fps;
-        libvlc_exception_t ex;
-        libvlc_exception_init( &ex );
 
-        f_fps = libvlc_media_player_get_rate( p_media_player, &ex );
+        f_fps = libvlc_media_player_get_rate( p_media_player );
         if( f_fps < 0 )
             return 0;
 
@@ -136,16 +125,14 @@ private_mediacontrol_position2microsecond( libvlc_media_player_t * p_media_playe
     {
         libvlc_time_t l_time = 0;
         libvlc_time_t l_pos = 0;
-        libvlc_exception_t ex;
-        libvlc_exception_init( &ex );
 
-        l_time = libvlc_media_player_get_time( p_media_player, &ex );
+        l_time = libvlc_media_player_get_time( p_media_player );
         /* Ignore exception, we will assume a 0 time value */
 
         l_pos = private_mediacontrol_unit_convert( p_media_player,
-                                                  pos->key,
-                                                  mediacontrol_MediaTime,
-                                                  pos->value );
+                                                   pos->key,
+                                                   mediacontrol_MediaTime,
+                                                   pos->value );
         return 1000 * ( l_time + l_pos );
         break;
     }
@@ -154,20 +141,18 @@ private_mediacontrol_position2microsecond( libvlc_media_player_t * p_media_playe
         libvlc_time_t l_time = 0;
         libvlc_time_t l_length = 0;
         libvlc_time_t l_pos = 0;
-        libvlc_exception_t ex;
-        libvlc_exception_init( &ex );
 
-        l_length = libvlc_media_player_get_length( p_media_player, &ex );
+        l_length = libvlc_media_player_get_length( p_media_player );
         if( l_length <= 0 )
             return 0;
 
-        l_time = libvlc_media_player_get_time( p_media_player, &ex );
+        l_time = libvlc_media_player_get_time( p_media_player );
         /* Ignore exception, we will assume a 0 time value */
 
         l_pos = private_mediacontrol_unit_convert( p_media_player,
-                                                  pos->key,
-                                                  mediacontrol_MediaTime,
-                                                  pos->value );
+                                                   pos->key,
+                                                   mediacontrol_MediaTime,
+                                                   pos->value );
 
         return 1000 * ( ( l_time + l_pos ) % l_length );
         break;
@@ -176,20 +161,6 @@ private_mediacontrol_position2microsecond( libvlc_media_player_t * p_media_playe
     return 0;
 }
 
-mediacontrol_RGBPicture*
-private_mediacontrol_RGBPicture__alloc( int datasize )
-{
-    mediacontrol_RGBPicture* pic;
-
-    pic = ( mediacontrol_RGBPicture * )malloc( sizeof( mediacontrol_RGBPicture ) );
-    if( ! pic )
-        return NULL;
-
-    pic->size = datasize;
-    pic->data = ( char* )malloc( datasize * sizeof( char ) );
-    return pic;
-}
-
 void
 mediacontrol_RGBPicture__free( mediacontrol_RGBPicture* pic )
 {
@@ -245,13 +216,25 @@ mediacontrol_exception_free( mediacontrol_Exception *exception )
     free( exception );
 }
 
+/**
+ * Allocates and initializes a mediacontrol_RGBPicture object.
+ *
+ * @param i_width: picture width
+ * @param i_height: picture width
+ * @param i_chroma: picture chroma
+ * @param l_date: picture timestamp
+ * @param p_data: pointer to the data. The data will be directly used, not copied.
+ * @param i_datasize: data size in bytes
+ *
+ * @return the new object, or NULL on error.
+ */
 mediacontrol_RGBPicture*
 private_mediacontrol_createRGBPicture( int i_width, int i_height, long i_chroma, int64_t l_date,
-                                char* p_data, int i_datasize )
+                                       char* p_data, int i_datasize )
 {
     mediacontrol_RGBPicture *retval;
 
-    retval = private_mediacontrol_RGBPicture__alloc( i_datasize );
+    retval = ( mediacontrol_RGBPicture * )malloc( sizeof( mediacontrol_RGBPicture ) );
     if( retval )
     {
         retval->width  = i_width;
@@ -259,7 +242,7 @@ private_mediacontrol_createRGBPicture( int i_width, int i_height, long i_chroma,
         retval->type   = i_chroma;
         retval->date   = l_date;
         retval->size   = i_datasize;
-        memcpy( retval->data, p_data, i_datasize );
+        retval->data   = p_data;
     }
     return retval;
 }