]> git.sesse.net Git - vlc/blobdiff - include/vlc_common.h
Hide object reference counter.
[vlc] / include / vlc_common.h
index c91d74f4e832af778493108defa1a2fc68a3ff71..2953193036b9650f35acff1a2855fc29ecff642b 100644 (file)
@@ -64,7 +64,7 @@
 #include <stdlib.h>
 #include <stdarg.h>
 
-#include <string.h>                                         /* strerror() */
+#include <string.h>
 #include <stdio.h>
 
 #ifdef HAVE_SYS_TYPES_H
@@ -191,6 +191,24 @@ typedef uint32_t vlc_fourcc_t;
 
 #endif
 
+static inline void __vlc_fourcc_to_char( vlc_fourcc_t fcc, char *psz_fourcc )
+{
+#ifdef WORDS_BIGENDIAN
+    psz_fourcc[0] = (uint32_t) (fcc >> 24);
+    psz_fourcc[1] = (uint32_t) (fcc >> 16);
+    psz_fourcc[2] = (uint32_t) (fcc >> 8);
+    psz_fourcc[3] = (uint32_t) (fcc);
+#else
+    psz_fourcc[3] = (uint32_t) (fcc >> 24);
+    psz_fourcc[2] = (uint32_t) (fcc >> 16);
+    psz_fourcc[1] = (uint32_t) (fcc >> 8);
+    psz_fourcc[0] = (uint32_t) (fcc);
+#endif
+}
+
+#define vlc_fourcc_to_char( a, b ) \
+    __vlc_fourcc_to_char( (vlc_fourcc_t)(a), (char *)(b) )
+
 /*****************************************************************************
  * Classes declaration
  *****************************************************************************/
@@ -393,7 +411,6 @@ typedef struct httpd_redirect_t httpd_redirect_t;
 typedef struct httpd_stream_t httpd_stream_t;
 
 /* TLS support */
-typedef struct tls_t tls_t;
 typedef struct tls_server_t tls_server_t;
 typedef struct tls_session_t tls_session_t;
 
@@ -472,13 +489,13 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 
 #if defined (WIN32) && defined (DLL_EXPORT)
 #  ifdef __cplusplus
-#    define VLC_PUBLIC_API __declspec(dllexport) 
-#    define VLC_PRIVATE_API __declspec(dllexport) 
+#    define VLC_PUBLIC_API __declspec(dllexport)
+#    define VLC_PRIVATE_API __declspec(dllexport)
 #    define   VLC_EXPORT( type, name, args ) extern "C" __declspec(dllexport) type name args
 #    define VLC_INTERNAL( type, name, args ) extern "C" type name args
 #  else
-#    define VLC_PUBLIC_API extern __declspec(dllexport) 
-#    define VLC_PRIVATE_API extern __declspec(dllexport) 
+#    define VLC_PUBLIC_API extern __declspec(dllexport)
+#    define VLC_PRIVATE_API extern __declspec(dllexport)
 #    define   VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
 #    define VLC_INTERNAL( type, name, args ) type name args
 #  endif
@@ -501,7 +518,7 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 #      define   VLC_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
 #      define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
 #    else
-#      define VLC_PUBLIC_API extern 
+#      define VLC_PUBLIC_API extern
 #      define VLC_PRIVATE_API extern
 #      define   VLC_EXPORT( type, name, args ) type name args
 #      define VLC_INTERNAL( type, name, args ) type name args
@@ -559,7 +576,6 @@ typedef struct vlc_object_internals_t vlc_object_internals_t;
     /* Stuff related to the libvlc structure */                             \
     libvlc_int_t *p_libvlc;                  /**< (root of all evil) - 1 */ \
                                                                             \
-    volatile int    i_refcount;                         /**< usage count */ \
     vlc_object_t *  p_parent;                            /**< our parent */ \
     vlc_object_t ** pp_children;                       /**< our children */ \
     volatile int    i_children;                                             \
@@ -843,7 +859,7 @@ static inline void _SetQWBE( uint8_t *p, uint64_t i_qw )
 
 #if !defined(HAVE_ASPRINTF) || defined(__APPLE__) || defined(SYS_BEOS)
 #   define asprintf vlc_asprintf
-    VLC_EXPORT( int, vlc_asprintf, (char **, const char *, ... ) );
+    VLC_EXPORT( int, vlc_asprintf, (char **, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3 ) );
 #elif !defined(__PLUGIN__)
 #   define vlc_asprintf NULL
 #endif
@@ -1208,8 +1224,8 @@ VLC_EXPORT( const char *, VLC_Changeset, ( void ) );
 #include "vlc_messages.h"
 #include "vlc_variables.h"
 #include "vlc_objects.h"
-#include "vlc_threads_funcs.h"
 #include "vlc_mtime.h"
+#include "vlc_threads_funcs.h"
 #include "vlc_modules.h"
 #include "main.h"
 #include "vlc_configuration.h"