47 struct xmms_mediainfo_reader_St {
58 static gpointer xmms_mediainfo_reader_thread (gpointer data);
60 #include "mediainfo_ipc.c" 72 xmms_mediainfo_reader_stop);
74 xmms_mediainfo_reader_register_ipc_commands (
XMMS_OBJECT (mrt));
76 mrt->mutex = g_mutex_new ();
77 mrt->cond = g_cond_new ();
79 mrt->thread = g_thread_create (xmms_mediainfo_reader_thread, mrt, TRUE, NULL);
93 g_mutex_lock (mir->mutex);
95 g_cond_signal (mir->cond);
96 g_mutex_unlock (mir->mutex);
98 xmms_mediainfo_reader_unregister_ipc_commands ();
100 g_thread_join (mir->thread);
102 g_cond_free (mir->cond);
103 g_mutex_free (mir->mutex);
113 g_return_if_fail (mr);
115 g_mutex_lock (mr->mutex);
116 g_cond_signal (mr->cond);
117 g_mutex_unlock (mr->mutex);
123 xmms_mediainfo_reader_thread (gpointer data)
144 goal_format = g_list_prepend (NULL, f);
146 while (mrt->running) {
155 XMMS_DBG (
"got %d as not resolved", entry);
165 g_mutex_lock (mrt->mutex);
166 g_cond_wait (mrt->cond, mrt->mutex);
167 g_mutex_unlock (mrt->mutex);
209 g_get_current_time (&timeval);
221 g_list_free (goal_format);
void xmms_set_thread_name(const gchar *name)
#define xmms_object_unref(obj)
struct xmms_stream_type_St xmms_stream_type_t
xmmsc_medialib_entry_status_t
xmms_stream_type_t * _xmms_stream_type_new(const gchar *begin,...)
void xmms_object_emit_f(xmms_object_t *object, guint32 signalid, xmmsv_type_t type,...)
Emits a signal on the current object.
#define XMMS_STREAM_TYPE_BEGIN
#define XMMS_DBG(fmt,...)
#define xmms_object_new(objtype, destroyfunc)