root/trunk/libffado/config.h.in

Revision 870, 4.2 kB (checked in by ppalmers, 13 years ago)

try and work around buffer size issues in raw1394

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
26 /* Define to the api version */
27 #define FFADO_API_VERSION $FFADO_API_VERSION
28
29 /* Define to 1 if SSE assembly is available. */
30 // broken
31 //#define USE_SSE $USE_SSE
32 #define USE_SSE 0
33 //#define USE_SSE2 $USE_SSE2
34 #define USE_SSE2 0
35
36 #define CACHEDIR "~/.ffado"
37
38 #define BINDIR "$BINDIR"
39 #define LIBDIR "$LIBDIR"
40 #define SHAREDIR "$SHAREDIR"
41
42 #define DEBUG_IMPLEMENT_BACKLOG     0
43
44 // make this zero to disable the most extreme
45 // debug logging in the critical sections
46 #define DEBUG_EXTREME_ENABLE        0
47
48 #define IEEE1394SERVICE_USE_CYCLETIMER_DLL  0
49 #define IEEE1394SERVICE_CYCLETIMER_DLL_UPDATE_INTERVAL_USEC 50000
50 #define IEEE1394SERVICE_MAX_FIREWIRE_PORTS  16
51
52 #define IEEE1394SERVICE_ISOMANAGER_PRIO_INCREASE         0
53 #define IEEE1394SERVICE_CYCLETIMER_HELPER_PRIO_INCREASE  5
54
55 #define THREAD_MAX_RTPRIO                   98
56 #define THREAD_MIN_RTPRIO                   0
57
58 #define MINIMUM_INTERRUPTS_PER_PERIOD       2U
59 #define MAX_ISO_XMIT_BUFFER_FILL_PCT        50
60
61 // These are the result of a lot of trial and error
62 // due to weirdness in the kernel layer
63 #define MAX_XMIT_PACKET_SIZE                512
64 #define MAX_XMIT_NB_BUFFERS                 64
65
66 #define ISOHANDLER_PER_HANDLER_THREAD       0
67 #define ISOHANDLER_USE_POLL                 0
68 #define ISOHANDLER_FLUSH_BEFORE_ITERATE     0
69
70 #define ISOHANDLER_DEATH_DETECT_TIMEOUT_USECS    1000000LL
71
72 #define ISOHANDLERMANAGER_MAX_ISO_HANDLERS_PER_PORT         16
73
74 // allows to add some processing margin. This shifts the time
75 // at which the buffer is transfer()'ed, making things somewhat
76 // more robust. It should be noted though that shifting the transfer
77 // time to a later time instant also causes the xmit buffer fill to be
78 // lower on average.
79 #define STREAMPROCESSORMANAGER_SIGNAL_DELAY_TICKS           (3072*6)
80
81 #define STREAMPROCESSORMANAGER_CYCLES_FOR_DRYRUN            40000
82 #define STREAMPROCESSORMANAGER_CYCLES_FOR_STARTUP           2000
83 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_XMIT     20
84 #define STREAMPROCESSORMANAGER_PRESTART_CYCLES_FOR_RECV     0
85 #define STREAMPROCESSORMANAGER_SYNCSTART_TRIES              10
86 #define STREAMPROCESSORMANAGER_SYNC_WAIT_TIME_MSEC          200
87 #define STREAMPROCESSORMANAGER_ALIGN_AVERAGE_TIME_MSEC      200
88 #define STREAMPROCESSORMANAGER_NB_ALIGN_TRIES               40
89
90 #define STREAMPROCESSORMANAGER_DYNAMIC_SYNC_DELAY           0
91
92 // FIXME: note that it will probably be better to use a DLL bandwidth that is
93 //        dependant on the sample rate
94 #define TIMESTAMPEDBUFFER_DLL_BANDWIDTH                     (0.01)
95
96 // in ticks
97 // as per AMDTP2.1:
98 // 354.17us + 125us @ 24.576ticks/usec = 11776.08192 ticks
99 #define AMDTP_TRANSMIT_TRANSFER_DELAY   (11776U)
100
101 // the absolute minimum number of cycles we want to transmit
102 // a packet ahead of the presentation time. The nominal time
103 // the packet is transmitted ahead of the presentation time is
104 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but in case we
105 // are too late for that, this constant defines how late we can
106 // be.
107 #define AMDTP_MIN_CYCLES_BEFORE_PRESENTATION                1
108
109 // the absolute maximum number of cycles we want to transmit
110 // a packet ahead of the ideal transmit time. The nominal time
111 // the packet is transmitted ahead of the presentation time is
112 // given by AMDTP_TRANSMIT_TRANSFER_DELAY (in ticks), but we can send
113 // packets early if we want to. (not completely according to spec)
114 // (for spec compliance you need to specify a value of 1 or 2)
115 #define AMDTP_MAX_CYCLES_TO_TRANSMIT_EARLY                  6
116
117 #define MOTU_TRANSMIT_TRANSFER_DELAY    (11776U)
118
119 #endif // CONFIG_H
Note: See TracBrowser for help on using the browser.