/*
- * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2012 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/** \file afs.h Exported symbols of the audio file selector. */
#include <regex.h>
-#include "hash.h"
/** Audio file selector data stored in the audio file table. */
struct afs_info {
uint32_t image_id;
/** Lyrics blob associated with this file (foreign key). */
uint32_t lyrics_id;
- /** Mp3, ogg or aac. */
+ /** Mp3, ogg, aac, wma, spx. */
uint8_t audio_format_id;
/** Amplification value. */
uint8_t amp;
char *path;
/** The score value (if -a was given). */
long score;
- /** The sha1 hash of audio file. */
- HASH_TYPE *hash;
+ /** The hash value of audio file data. */
+ unsigned char *hash;
};
/** Data about the current audio file, passed from afs to server. */
int fd;
/** Vss needs this for streaming. */
struct afh_info afhi;
+ /** Size of the largest chunk. */
+ uint32_t max_chunk_size;
+ /** Needed to get the audio file header. */
+ uint8_t audio_format_id;
};
/**
struct osl_object patterns;
/** Data pointer passed to the action function. */
void *data;
+ /** Gets increased by one for each match. */
+ unsigned num_matches;
/** For each matching row, this function will be called. */
int (*action)(struct osl_table *table, struct osl_row *row, const char *name, void *data);
};
* \sa \ref send_callback_request().
*/
typedef int callback_result_handler(struct osl_object *result, void *private);
-int rc4_send_result(struct osl_object *result, void *private);
+int sc_send_result(struct osl_object *result, void *private);
int pass_buffer_as_shm(char *buf, size_t size, void *fd_ptr);
__noreturn void afs_init(uint32_t cookie, int socket_fd);