1 | .TH "roar_vs_position" "3" "June 2011" "RoarAudio" "RoarAudio Programmer's Manual" |
---|
2 | |
---|
3 | .SH NAME |
---|
4 | roar_vs_position, roar_vs_latency, roar_vs_latency2 \- Get stream position information |
---|
5 | |
---|
6 | .SH SYNOPSIS |
---|
7 | |
---|
8 | #include <roaraudio.h> |
---|
9 | |
---|
10 | ssize_t roar_vs_position(roar_vs_t * vss, int backend, int * error); |
---|
11 | |
---|
12 | roar_mus_t roar_vs_latency(roar_vs_t * vss, int backend, int * error); |
---|
13 | |
---|
14 | roar_mus_t roar_vs_latency2(roar_vs_t * vss, int backend, int wait, int * error); |
---|
15 | |
---|
16 | .SH "DESCRIPTION" |
---|
17 | \fBroar_vs_position()\fR returns the current server site position of the stream plus |
---|
18 | the current offset for the selected backend. |
---|
19 | |
---|
20 | \fBroar_vs_latency()\fR returns the latency between the client site stream position and the server |
---|
21 | site position plus the latency by the backend. |
---|
22 | |
---|
23 | Use of roar_vs_latency() is not recommended as it requires the codec to use a true constant bit rate. |
---|
24 | |
---|
25 | \fBroar_vs_latency2()\fR is perfectly equivalent to roar_vs_latency() expect that it takes the additional |
---|
26 | parameter wait. The wait parameter may have the values ROAR_VS_WAIT, ROAR_VS_NOWAIT and ROAR_VS_ASYNC. |
---|
27 | If it is ROAR_VS_WAIT the function does the same as roar_vs_latency(). |
---|
28 | If the parameter is ROAR_VS_NOWAIT roar_vs_latency2() will return interpolated data based on old data collected |
---|
29 | by calls to roar_vs_latency(), roar_vs_latency2() or roar_vs_position(). |
---|
30 | ROAR_VS_ASYNC is used to trigger asyncron updates to this internal state. Asyncron operations need to be enabled |
---|
31 | before they can be used. See \fBroar_vs_ctl\fR(3). |
---|
32 | |
---|
33 | Calling these functions too often will result in bad performance and incorrect data |
---|
34 | (pool interval smaller than server response time). Polling up to 20 times per second shoudn't be a problem. |
---|
35 | |
---|
36 | .SH "PARAMETERS" |
---|
37 | .TP |
---|
38 | \fBvss\fR |
---|
39 | The VS object to be used. |
---|
40 | |
---|
41 | .TP |
---|
42 | \fBbackend\fR |
---|
43 | The backend used for correction. This can be a stream ID of the stream to use as backend or one of the special values |
---|
44 | defined by the constants ROAR_VS_BACKEND_*. |
---|
45 | ROAR_VS_BACKEND_NONE is used to ask for no correction. |
---|
46 | ROAR_VS_BACKEND_DEFAULT is used to ask for the default correction. This should be used in all common cases. |
---|
47 | ROAR_VS_BACKEND_FIRST is used to ask for correction based on the first primary stream on the same mixer. |
---|
48 | |
---|
49 | .TP |
---|
50 | \fBwait\fR |
---|
51 | Tells the API if the call should wait or not. Must be ROAR_VS_WAIT, ROAR_VS_NOWAIT or ROAR_VS_ASYNC. |
---|
52 | |
---|
53 | .TP |
---|
54 | \fBerror\fR |
---|
55 | This is a pointer to a integer used to store the error value in case of error. |
---|
56 | This can be NULL if not used but it is very recommended to use this error value to report |
---|
57 | good error messages to the user. |
---|
58 | |
---|
59 | .SH "RETURN VALUE" |
---|
60 | roar_vs_position() returns the stream position on success and \-1 on error. |
---|
61 | Stream position is the current position of the stream in units of samples (not frames!). |
---|
62 | |
---|
63 | roar_vs_latency() returns the stream latency on success and zero on error. However zero is a valid |
---|
64 | value. In case of error \fBerror\fR is set to the error. In case of no error but zero latency |
---|
65 | \fBerror\fR is cleared (set to ROAR_ERROR_NONE). |
---|
66 | Latency is retruned in mu-seconds (1/10^-6s). |
---|
67 | |
---|
68 | .SH "EXAMPLES" |
---|
69 | FIXME |
---|
70 | |
---|
71 | .SH "SEE ALSO" |
---|
72 | \fBroarvs\fR(7), |
---|
73 | \fBlibroar\fR(7), |
---|
74 | \fBRoarAudio\fR(7). |
---|
75 | |
---|
76 | .\" ll |
---|