root/trunk/libffado/config.h.in

Revision 1115, 8.9 kB (checked in by wagi, 16 years ago)

revert r1060. it looks rather wrong in my eyes. at least it won't work at the moment this way.

Line 
1 /* config.h.in. */
2 #ifndef CONFIG_H
3 #define CONFIG_H
4
5 /* Name of package */
6 #define PACKAGE $PACKAGE
7
8 /* Define to the address where bug reports for this package should be sent. */
9 #define PACKAGE_BUGREPORT "<ffado-devel@lists.sf.net>"
10
11 /* Define to the full name of this package. */
12 #define PACKAGE_NAME "$PACKAGE"
13
14 /* Define to the full name and version of this package. */
15 #define PACKAGE_STRING "$PACKAGE $VERSION-$REVISION"
16
17 /* Define to the one symbol short name of this package. */
18 #define PACKAGE_TARNAME "$PACKAGE"
19
20 /* Define to the version of this package. */
21 #define PACKAGE_VERSION "$VERSION-$REVISION"
22
23 /* Define to the version of the cace. */
24 #define CACHE_VERSION "$VERSION-$REVISION"
25 #define CACHEDIR "~/.ffado"
26
27 /* Define to the api version */
28 #define FFADO_API_VERSION $FFADO_API_VERSION
29
30 #define BINDIR "$BINDIR"
31 #define LIBDIR "$LIBDIR"
32 #define SHAREDIR "$SHAREDIR"
33
34 /* Define indicating availability of lrint() */
35 #define HAVE_LRINT $HAVE_LRINT
36
37 /* Define indicatin availability of lrintf() */
38 #define HAVE_LRINTF $HAVE_LRINTF
39
40 // use a RT-safe message buffer for debug output
41 // useful to disable this when the code aborts/segfaults to
42 // not lose debug output. should be enabled though.
43 #define DEBUG_USE_MESSAGE_BUFFER             1
44 // max message length in the debug messagebuffer
45 #define DEBUG_MAX_MESSAGE_LENGTH           512
46 // number of messages in the debug messagebuffer (power of two)
47 #define DEBUG_MB_BUFFERS                  1024
48
49 // use an RT thread for reading out the messagebuffer.
50 // can reduce the number of buffer xruns, but not
51 // recommended
52 #define DEBUG_MESSAGE_BUFFER_REALTIME        0
53 #define DEBUG_MESSAGE_BUFFER_REALTIME_PRIO   1
54
55 // When a write can't get the buffer lock, how many times
56 // should it retry, and wait how long between retries?
57 #define DEBUG_MESSAGE_BUFFER_COLLISION_WAIT_NTRIES      2
58 #define DEBUG_MESSAGE_BUFFER_COLLISION_WAIT_NSEC    50000
59
60
61 // support a debug backlog
62 // note that this does not influence non-debug builds
63 #define DEBUG_BACKLOG_SUPPORT                0
64 // number of messages in the backlog buffer (power of two)
65 #define DEBUG_BACKLOG_MB_BUFFERS            64
66
67 // support backtrace debugging
68 // note that this does not influence non-debug builds
69 #define DEBUG_BACKTRACE_SUPPORT              0
70 // max length of backtrace
71 #define DEBUG_MAX_BACKTRACE_LENGTH           8
72 // max amount of function pointers to keep track of
73 #define DEBUG_MAX_BACKTRACE_FUNCTIONS_SEEN  64
74
75 // lock debugging
76 #define DEBUG_LOCK_COLLISION_TRACING         0
77
78 // make this zero to disable the most extreme
79 // debug logging in the critical sections
80 #define DEBUG_EXTREME_ENABLE                 0
81
82 // watchdog
83 #define WATCHDOG_DEFAULT_CHECK_INTERVAL_USECS   (1000*1000*4)
84 #define WATCHDOG_DEFAULT_RUN_REALTIME           1
85 #define WATCHDOG_DEFAULT_PRIORITY               98
86
87 // threading
88 #define THREAD_MAX_RTPRIO                   98
89 #define THREAD_MIN_RTPRIO                   1
90
91 // time
92
93 // we should be using absolute clock_nanosleep
94 // but on my system it causes a problem on shutdown.
95 #define USE_ABSOLUTE_NANOSLEEP              1
96
97 // 1394 service constants
98 #define IEEE1394SERVICE_USE_CYCLETIMER_DLL                         1
99 #define IEEE1394SERVICE_CYCLETIMER_DLL_UPDATE_INTERVAL_USEC   200000
100 #define IEEE1394SERVICE_MAX_FIREWIRE_PORTS                         4
101
102 #define IEEE1394SERVICE_CYCLETIMER_HELPER_RUN_REALTIME       1
103 #define IEEE1394SERVICE_CYCLETIMER_HELPER_PRIO_INCREASE    -10
104
105 // The current version of libiec61883 doesn't seem to calculate
106 // the bandwidth correctly. Defining this to non-zero skips
107 // bandwidth allocation when doing CMP connections.
108 #define IEEE1394SERVICE_SKIP_IEC61883_BANDWIDTH_ALLOCATION   1
109
110 #define MINIMUM_INTERRUPTS_PER_PERIOD                       2U
111
112 // These are the result of a lot of trial and error
113 // due to weirdness in the kernel layer
114 #define MAX_XMIT_PACKET_SIZE                         (2048-16)
115 #define MAX_XMIT_NB_BUFFERS                                200
116
117 #define ISOHANDLER_FLUSH_BEFORE_ITERATE                      0
118
119 #define ISOHANDLER_DEATH_DETECT_TIMEOUT_USECS        1000000LL
120
121 #define ISOHANDLER_CHECK_CTR_RECONSTRUCTION                  0
122
123 #define ISOHANDLERMANAGER_MAX_ISO_HANDLERS_PER_PORT         16
124 #define ISOHANDLERMANAGER_MAX_STREAMS_PER_ISOTHREAD         16
125
126 // The best setup is if the receive handlers have lower priority
127 // than the client thread since that ensures that as soon as we
128 // received sufficient frames, the client thread runs.
129 // The transmit thread should have higher priority to ensure that
130 // all available data is flushed to the ISO kernel buffers as
131 // soon as possible
132 // At this moment, the jack backend uses base+5 to init ffado
133 // prio
134 #define ISOHANDLERMANAGER_ISO_PRIO_INCREASE                  0
135 #define ISOHANDLERMANAGER_ISO_PRIO_INCREASE_RECV            -6
136 #define ISOHANDLERMANAGER_ISO_PRIO_INCREASE_XMIT             1
137
138 // the timeout for ISO activity on any thread
139 // NOTE: don't make this 0
140 #define ISOHANDLERMANAGER_ISO_TASK_WAIT_TIMEOUT_USECS        1000000LL
141
142 // allows to add some processing margin. This shifts the time
143 // at which the buffer is transfer()'ed, making things somewhat
144 // more robust. It should be noted though that shifting the transfer
145 // time to a later time instant also causes the xmit buffer fill to be
146 // lower on average.
147 #define STREAMPROCESSORMANAGER_SIGNAL_DELAY_TICKS           (3072*6)
148
149 // startup control
150 #define STREAMPROCESSORMANAGER_CYCLES_FOR_DRYRUN            40000
151 #define STREAMPROCESSORMANAGER_CYCLES_FOR_STARTUP           200
152 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_XMIT     20
153 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_RECV     0
154 #define STREAMPROCESSORMANAGER_SYNCSTART_TRIES              10
155 #define STREAMPROCESSORMANAGER_SYNC_WAIT_TIME_MSEC          200
156 #define STREAMPROCESSORMANAGER_ALIGN_AVERAGE_TIME_MSEC      400
157 #define STREAMPROCESSORMANAGER_NB_ALIGN_TRIES               40
158
159 #define STREAMPROCESSORMANAGER_DYNAMIC_SYNC_DELAY           0
160
161 // FIXME: note that it will probably be better to use a DLL bandwidth that is
162 //        dependant on the sample rate
163 #define TIMESTAMPEDBUFFER_DLL_BANDWIDTH                     (0.01)
164
165 // -- AMDTP options -- //
166
167 // in ticks
168 // as per AMDTP2.1:
169 // 354.17us + 125us @ 24.576ticks/usec = 11776.08192 ticks
170 #define AMDTP_TRANSMIT_TRANSFER_DELAY   (11776U)
171
172 // the absolute minimum number of cycles we want to transmit
173 // a packet ahead of the presentation time. The nominal time
174 // the packet is transmitted ahead of the presentation time is
175 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but in case we
176 // are too late for that, this constant defines how late we can
177 // be.
178 #define AMDTP_MIN_CYCLES_BEFORE_PRESENTATION                1
179
180 // the absolute maximum number of cycles we want to transmit
181 // a packet ahead of the ideal transmit time. The nominal time
182 // the packet is transmitted ahead of the presentation time is
183 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but we can send
184 // packets early if we want to. (not completely according to spec)
185 // (for spec compliance you need to specify a value of 0)
186 #define AMDTP_MAX_CYCLES_TO_TRANSMIT_EARLY                  0
187
188 // ensure that the AMDTP SP clips all float values to [-1.0..1.0]
189 #define AMDTP_CLIP_FLOATS                                   1
190
191 // Allow that devices request that the AMDTP transmit SP adds
192 // payload to the NO-DATA packets.
193 #define AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT                  1
194
195 // Default setting for the payload setting if
196 // AMDTP_ALLOW_PAYLOAD_IN_NODATA_XMIT is enabled. Devices can
197 // explicity override this
198 #define AMDTP_SEND_PAYLOAD_IN_NODATA_XMIT_BY_DEFAULT     true
199
200 // -- MOTU options -- //
201
202 // the transfer delay is substracted from the ideal presentation
203 // time to obtain a corrected presentation time. This values is
204 // then used to stamp the packet and determine the transmission
205 // time instant.
206 #define MOTU_TRANSMIT_TRANSFER_DELAY    (0U)
207
208 // the absolute minimum number of cycles we want to transmit
209 // a packet ahead of the presentation time. The nominal time
210 // the packet is transmitted ahead of the presentation time is
211 // given by MOTU_TRANSMIT_TRANSFER_DELAY (in ticks), but in case we
212 // are too late for that, this constant defines how late we can
213 // be.
214 #define MOTU_MIN_CYCLES_BEFORE_PRESENTATION                0
215
216 // the absolute maximum number of cycles we want to transmit
217 // a packet ahead of the ideal transmit time. The nominal time
218 // the packet is transmitted ahead of the presentation time is
219 // given by MOTU_TRANSMIT_TRANSFER_DELAY (in ticks), but we can send
220 // packets early if we want to.
221 #define MOTU_MAX_CYCLES_TO_TRANSMIT_EARLY                  2
222
223 // ensure that the MOTU tx SP clips all float values to [-1.0..1.0]
224 #define MOTU_CLIP_FLOATS                                   1
225
226 /// The unavoidable device specific hacks
227
228 // Use the information in the music plug instead of that in the
229 // cluster info block for the stream configuration. Should not
230 // be necessary
231 #define AVC_STREAMCONFIG_USE_MUSICPLUG                     0
232
233 #endif // CONFIG_H
Note: See TracBrowser for help on using the browser.