* Opaque structures for libvlc API
***************************************************************************/
-typedef enum libvlc_lock_state_t
-{
- libvlc_Locked,
- libvlc_UnLocked
-} libvlc_lock_state_t;
-
typedef struct libvlc_vlm_t
{
vlm_t *p_vlm;
{
libvlc_int_t *p_libvlc_int;
libvlc_vlm_t libvlc_vlm;
- int b_playlist_locked;
unsigned ref_count;
int verbosity;
vlc_mutex_t instance_lock;
- vlc_mutex_t event_callback_lock;
struct libvlc_callback_entry_list_t *p_callback_list;
};
* Other internal functions
***************************************************************************/
+/* Thread context */
+void libvlc_init_threads (void);
+void libvlc_deinit_threads (void);
+
/* Events */
libvlc_event_manager_t * libvlc_event_manager_new(
void * p_obj, libvlc_instance_t * p_libvlc_inst,
/* Exception shorcuts */
-#define RAISENULL( ... ) { libvlc_exception_raise( p_e, __VA_ARGS__ ); \
+#define RAISENULL( ... ) { libvlc_printerr(__VA_ARGS__); \
+ libvlc_exception_raise( p_e ); \
return NULL; }
-#define RAISEZERO( ... ) { libvlc_exception_raise( p_e, __VA_ARGS__ ); \
+#define RAISEZERO( ... ) { libvlc_printerr(__VA_ARGS__); \
+ libvlc_exception_raise( p_e ); \
return 0; }
+static inline void clear_if_needed(libvlc_exception_t *e)
+{
+ if (libvlc_exception_raised(e))
+ libvlc_exception_clear(e);
+}
+
+static inline libvlc_time_t from_mtime(mtime_t time)
+{
+ return (time + 500ULL)/ 1000ULL;
+}
+
+static inline mtime_t to_mtime(libvlc_time_t time)
+{
+ return time * 1000ULL;
+}
+
#endif