37 static pthread_mutex_t
mutex = PTHREAD_MUTEX_INITIALIZER;
50 g_return_val_if_fail (header !=
NULL,
TRUE);
66 pthread_mutex_lock (&
mutex);
68 AUDDBG (
"Starting effects.\n");
81 pthread_mutex_unlock (&
mutex);
107 pthread_mutex_lock (&
mutex);
112 pthread_mutex_unlock (&
mutex);
117 pthread_mutex_lock (&
mutex);
125 pthread_mutex_unlock (&
mutex);
130 pthread_mutex_lock (&
mutex);
133 ((
RunningEffect *) node->data)->header->finish (data, samples);
135 pthread_mutex_unlock (&
mutex);
140 pthread_mutex_lock (&
mutex);
145 delay = ((
RunningEffect *) node->data)->header->adjust_delay (delay);
148 pthread_mutex_unlock (&
mutex);
154 return (effect->
plugin == plugin) ? 0 : -1;
179 if (node->prev !=
NULL)
196 header->start (& channels, & rate);
203 GList * node = g_list_find_custom (
running_effects, plugin, (GCompareFunc)
215 if (ep->preserves_format)
217 pthread_mutex_lock (&
mutex);
224 pthread_mutex_unlock (&
mutex);
238 g_return_val_if_fail (ep !=
NULL,
FALSE);
250 g_return_if_fail (ep !=
NULL);