- Improved help/man pages: The documentation of para_audiod,
para_recv, para_filter and para_write now also contains
all options of the available receivers/filters/writers.
+ - vss timing fixes.
--------------------------------------------
0.3.3 (2008-12-01) "axiomatic perspectivity"
/** Handles afs events. */
int (*event_handler)(enum afs_events event, struct para_buffer *pb,
void *data);
- /* int *(check)() */
};
enum play_mode {PLAY_MODE_MOOD, PLAY_MODE_PLAYLIST};
return osl_create_table(&attribute_table_desc);
}
-
+/**
+ * Initialize the attribute table structure.
+ *
+ * \param t The table structure to initialize.
+ */
void attribute_init(struct afs_table *t)
{
t->name = attribute_table_desc.name;
#include "para.h"
#include "ggo.h"
+/**
+ * Wrapper for printf() that exits on errors.
+ *
+ * \param fmt Usual format string.
+ */
__printf_1_2 void printf_or_die(const char *fmt, ...)
{
va_list argp;
va_end(argp);
if (ret >= 0)
return;
- fprintf(stderr, "%s: %s\n", __FUNCTION__, strerror(errno));
+ exit(EXIT_FAILURE);
}
+/**
+ * Print one of the two given help texts.
+ *
+ * \param help contains the help texts.
+ * \param detailed_help Whether to print the detailed help text.
+ */
void ggo_print_help(struct ggo_help *help, int detailed_help)
{
const char **p;
+/*
+ * Copyright (C) 2008-2009 Andre Noll <maan@systemlinux.org>
+ *
+ * Licensed under the GPL v2. For licencing details see COPYING.
+ */
+
+/** \file ggo.h Functions and structures for help text handling. */
+
+/**
+ * Used by exexutables that can not use gengetopt's generated help function.
+ */
struct ggo_help {
+ /** The lines of the short help text. */
const char **short_help;
+ /** The lines of the detailed help text. */
const char **detailed_help;
};
void ggo_print_help(struct ggo_help *help, int detailed_help);
-void printf_or_die(const char *fmt, ...);
+__printf_1_2 void printf_or_die(const char *fmt, ...);
return (char *)id3_ucs4_latin1duplicate(string);
}
-char *get_stringlist(union id3_field *field)
+static char *get_stringlist(union id3_field *field)
{
unsigned int k, nstrings = id3_field_getnstrings(field);
char *result = NULL;
/** The task structure for the virtual streaming system. */
struct vss_task {
+ /** Copied from the -announce_time command line option. */
struct timeval announce_tv;
+ /** End of the announcing interval. */
struct timeval data_send_barrier;
+ /** End of the EOF interval. */
struct timeval eof_barrier;
+ /** Only used if --autoplay_delay was given. */
struct timeval autoplay_barrier;
+ /** Used for afs-server communication. */
int afs_socket;
+ /** The current state of \a afs_socket. */
enum afs_socket_status afsss;
+ /** The memory mapped audio file. */
char *map;
+ /** Used by the scheduler. */
struct task task;
+ /** Pointer to the header of the mapped audio file. */
const char *header_buf;
+ /** Length of the audio file header. */
size_t header_len;
};