X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=b7b6d2d76af88ecbbb2f4a2f892f0848a4d5ad37;hp=5ef5778107e22dd44e44402f2961cc0f6192a594;hb=574daf73a793b0f8d7a2af168855003710e340fe;hpb=b3644a3f5de245609dc608a947ed71e2f75b2fd5 diff --git a/audiod.c b/audiod.c index 5ef57781..b7b6d2d7 100644 --- a/audiod.c +++ b/audiod.c @@ -1,12 +1,18 @@ /* - * Copyright (C) 2005-2013 Andre Noll + * Copyright (C) 2005-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file audiod.c The paraslash's audio daemon. */ + +#include +#include #include #include +#include +#include +#include #include #include "para.h" @@ -213,7 +219,7 @@ static int get_matching_audio_format_nums(const char *re) * from the status items received from para_server and the start time of the * (first) writer of the given slot. * - * It has to to take into account that probably the stream was not started at + * It has to take into account that the stream was probably not started at * the beginning of the file, that the clock between the server and the client * host may differ and that playback of the stream was delayed, e.g. because * the prebuffer filter is used in the filter configuration of the given slot. @@ -641,7 +647,7 @@ static bool must_start_decoder(void) return true; } -static unsigned compute_time_diff(const struct timeval *status_time) +static void compute_time_diff(const struct timeval *status_time) { struct timeval tmp, diff; static unsigned count; @@ -649,8 +655,6 @@ static unsigned compute_time_diff(const struct timeval *status_time) const struct timeval max_deviation = {0, 500 * 1000}; const int time_smooth = 5; - if (!status_time) - return count; sign = tv_diff(status_time, now, &diff); // PARA_NOTICE_LOG("%s: sign = %i, sa_time_diff_sign = %i\n", __func__, // sign, sa_time_diff_sign); @@ -680,7 +684,6 @@ static unsigned compute_time_diff(const struct timeval *status_time) ); out: stat_task->sa_time_diff_sign = sa_time_diff_sign; - return count; } static int update_item(int itemnum, char *buf) @@ -1150,13 +1153,10 @@ static void close_unused_slots(void) */ void __noreturn clean_exit(int status, const char *msg) { - int i; - if (socket_name) unlink(socket_name); close_stat_pipe(); - FOR_EACH_SLOT(i) - close_slot(i); + close_unused_slots(); audiod_cmdline_parser_free(&conf); close_stat_clients(); PARA_EMERG_LOG("%s\n", msg); @@ -1171,7 +1171,6 @@ static void start_stop_decoders(void) { int ret; struct slot_info *sl; - struct audio_format_info *a; close_unused_slots(); if (audiod_status != AUDIOD_ON || @@ -1185,9 +1184,7 @@ static void start_stop_decoders(void) return; } sl = slot + ret; - a = afi + sl->format; - if (a->num_filters) - open_filters(sl); + open_filters(sl); open_writers(sl); activate_grab_clients(&sched); btr_log_tree(sl->receiver_node->btrn, LL_NOTICE);