/*
- * Copyright (C) 2006-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
* activate_grab_client.
*/
void activate_inactive_grab_clients(int slot_num, int audio_format_num,
- struct list_head *filter_list)
+ struct filter_chain *fc)
{
struct grab_client *gc, *tmp;
- int i;
+ int filter_num;
struct filter_node *fn;
list_for_each_entry_safe(gc, tmp, &inactive_grab_client_list, node) {
if (gc->audio_format_num >= 0 && gc->audio_format_num !=
audio_format_num)
continue;
- if (gc->conf->filter_num_arg >= 0 &&
- num_filters(gc->audio_format_num)
- < gc->conf->filter_num_arg)
+ filter_num = gc->conf->filter_num_arg;
+ if (filter_num >= 0 && filter_num >= num_filters(gc->audio_format_num))
continue;
- i = 1;
- list_for_each_entry(fn, filter_list, node) {
- if (gc->conf->filter_num_arg <= 0
- || i == gc->conf->filter_num_arg)
- break;
- i++;
- }
+ if (filter_num < 0)
+ filter_num = 0;
+ fn = fc->filter_nodes + filter_num;
activate_grab_client(gc, fn);
}
}
*/
void init_grabbing(void)
{
- PARA_INFO_LOG("%s", "grab init\n");
+ PARA_INFO_LOG("grab init\n");
INIT_LIST_HEAD(&inactive_grab_client_list);
}