chiark / gitweb /
clients/playrtp.c, lib/configuration.[ch]: Static config for `playrtp'.
[disorder] / lib / configuration.h
index ed6d3f11875929ecc634595a8845be5d335866ef..5c33047d125c4a5552bec3bf97bf305328155b7b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This file is part of DisOrder.
- * Copyright (C) 2004-2010 Richard Kettlewell
+ * Copyright (C) 2004-2011, 2013 Richard Kettlewell
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,9 +22,8 @@
 #ifndef CONFIGURATION_H
 #define CONFIGURATION_H
 
-#include <pcre.h>
-
 #include "speaker-protocol.h"
+#include "regexp.h"
 #include "rights.h"
 #include "addr.h"
 
@@ -71,7 +70,7 @@ struct collectionlist {
 /** @brief A track name part */
 struct namepart {
   char *part;                          /* part */
-  pcre *re;                            /* compiled regexp */
+  regexp *re;                          /* compiled regexp */
   char *res;                            /* regexp as a string */
   char *replace;                       /* replacement string */
   char *context;                       /* context glob */
@@ -89,7 +88,7 @@ struct transform {
   char *type;                          /* track or dir */
   char *context;                       /* sort or choose */
   char *replace;                       /* substitution string */
-  pcre *re;                            /* compiled re */
+  regexp *re;                          /* compiled re */
   unsigned flags;                      /* regexp flags */
 };
 
@@ -181,8 +180,10 @@ struct config {
   /** @brief Maximum lifetime of a playlist lock */
   long playlist_lock_timeout;
 
+#if !_WIN32
   /** @brief Home directory for state files */
   const char *home;
+#endif
 
   /** @brief Login username */
   char *username;
@@ -221,6 +222,7 @@ struct config {
 
   /** @brief ALSA output device */
   const char *device;
+
   struct transformlist transform;      /* path name transformations */
 
   /** @brief Address to send audio data to */
@@ -232,6 +234,22 @@ struct config {
   /** @brief RTP delay threshold */
   long rtp_delay_threshold;
 
+  /** @brief Whether to ignore the server's suggested RTP arrangement and
+   * always request a unicast stream */
+  int rtp_always_request;
+
+  /** @brief RTP buffer low-water mark */
+  long rtp_minbuffer;
+
+  /** @brief RTP buffer maximum size */
+  long rtp_maxbuffer;
+
+  /* @brief RTP receive buffer size */
+  long rtp_rcvbuf;
+
+  /** @brief Fixed RTP listening address */
+  struct netaddress rtp_request_address;
+
   /** @brief Verbose RTP transmission logging */
   int rtp_verbose;
   
@@ -277,6 +295,9 @@ struct config {
   /** @brief Rescan on (un)mount */
   int mount_rescan;
 
+  /** @brief RTP mode */
+  const char *rtp_mode;
+
   /* derived values: */
   int nparts;                          /* number of distinct name parts */
   char **parts;                                /* name part list  */