Add btr support to the oggdec filter.
[paraslash.git] / audiod.c
index 27c153d791ee95983591e89176cf5917545e41df..d9460934b0f22182bad0ba49e44b797862266fa8 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -10,6 +10,7 @@
 #include <dirent.h>
 #include <signal.h>
 #include <openssl/rc4.h>
+#include <stdbool.h>
 
 #include "para.h"
 #include "error.h"
@@ -19,6 +20,7 @@
 #include "sched.h"
 #include "ggo.h"
 #include "recv.h"
+#include "buffer_tree.h"
 #include "filter.h"
 #include "grab_client.h"
 #include "client.cmdline.h"
@@ -312,6 +314,7 @@ static void close_receiver(int slot_num)
        a->receiver->close(s->receiver_node);
        free(s->receiver_node);
        s->receiver_node = NULL;
+       stat_task->current_audio_format_num = -1;
 }
 
 static void kill_all_decoders(int error)
@@ -386,8 +389,8 @@ static void open_filters(int slot_num)
        s->fc->inbufp = &s->receiver_node->buf;
        s->fc->in_loaded = &s->receiver_node->loaded;
        s->fc->input_error = &s->receiver_node->task.error;
-       s->fc->task.pre_select = filter_pre_select;
-       s->fc->task.post_select = NULL;
+       s->fc->task.pre_select = NULL;
+       s->fc->task.post_select = filter_post_select;
        s->fc->task.error = 0;
        s->fc->num_filters = nf;
 
@@ -937,6 +940,7 @@ static void close_stat_pipe(void)
        stat_task->length_seconds = 0;
        stat_task->offset_seconds = 0;
        stat_task->vss_status = 0;
+       stat_task->current_audio_format_num = -1;
        audiod_status_dump();
 }
 
@@ -1203,9 +1207,12 @@ int main(int argc, char *argv[])
        drop_privileges_or_die(conf.user_arg, conf.group_arg);
        parse_config_or_die();
        init_colors_or_die();
+       init_random_seed_or_die();
        daemon_set_flag(DF_LOG_TIME);
        daemon_set_flag(DF_LOG_HOSTNAME);
        daemon_set_flag(DF_LOG_LL);
+       if (conf.log_timing_given)
+               daemon_set_flag(DF_LOG_TIMING);
        if (conf.logfile_given) {
                daemon_set_logfile(conf.logfile_arg);
                daemon_open_log_or_die();