46 struct xmms_mediainfo_reader_St {
57 static gpointer xmms_mediainfo_reader_thread (gpointer data);
70 xmms_mediainfo_reader_stop);
80 mrt->mutex = g_mutex_new ();
81 mrt->cond = g_cond_new ();
83 mrt->thread = g_thread_create (xmms_mediainfo_reader_thread, mrt, TRUE, NULL);
97 g_mutex_lock (mir->mutex);
99 g_cond_signal (mir->cond);
100 g_mutex_unlock (mir->mutex);
106 g_thread_join (mir->thread);
108 g_cond_free (mir->cond);
109 g_mutex_free (mir->mutex);
119 g_return_if_fail (mr);
121 g_mutex_lock (mr->mutex);
122 g_cond_signal (mr->cond);
123 g_mutex_unlock (mr->mutex);
129 xmms_mediainfo_reader_thread (gpointer data)
148 goal_format = g_list_prepend (NULL, f);
150 while (mrt->running) {
159 XMMS_DBG (
"got %d as not resolved", entry);
169 g_mutex_lock (mrt->mutex);
170 g_cond_wait (mrt->cond, mrt->mutex);
171 g_mutex_unlock (mrt->mutex);
213 g_get_current_time (&timeval);
225 g_list_free (goal_format);