Provided by: libroar-dev_0.4-2_amd64 bug


       roar_vs_position, roar_vs_latency, roar_vs_latency2 - Get stream position information


       #include <roaraudio.h>

       ssize_t roar_vs_position(roar_vs_t * vss, int backend, int * error);

       roar_mus_t roar_vs_latency(roar_vs_t * vss, int backend, int * error);

       roar_mus_t roar_vs_latency2(roar_vs_t * vss, int backend, int wait, int * error);


       roar_vs_position() returns the current server site position of the stream plus the current
       offset for the selected backend.

       roar_vs_latency() returns the latency between the client  site  stream  position  and  the
       server site position plus the latency by the backend.

       Use  of  roar_vs_latency()  is  not  recommended  as  it  requires the codec to use a true
       constant bit rate.

       roar_vs_latency2() is perfectly equivalent to roar_vs_latency() expect that it  takes  the
       additional   parameter  wait.  The  wait  parameter  may  have  the  values  ROAR_VS_WAIT,
       ROAR_VS_NOWAIT and ROAR_VS_ASYNC.  If it is ROAR_VS_WAIT the function  does  the  same  as
       roar_vs_latency().   If  the  parameter  is  ROAR_VS_NOWAIT roar_vs_latency2() will return
       interpolated  data  based  on  old  data  collected   by   calls   to   roar_vs_latency(),
       roar_vs_latency2()  or  roar_vs_position().   ROAR_VS_ASYNC  is  used  to trigger asyncron
       updates to this internal state. Asyncron operations need to be enabled before they can  be
       used. See roar_vs_ctl(3).

       Calling  these functions too often will result in bad performance and incorrect data (pool
       interval smaller than server response time). Polling up to 20 times per second shoudn't be
       a problem.


       vss    The VS object to be used.

              The  backend  used  for correction. This can be a stream ID of the stream to use as
              backend or one of the special values defined by  the  constants  ROAR_VS_BACKEND_*.
              ROAR_VS_BACKEND_NONE  is used to ask for no correction.  ROAR_VS_BACKEND_DEFAULT is
              used to ask for the default correction. This should be used in  all  common  cases.
              ROAR_VS_BACKEND_FIRST  is  used  to  ask  for correction based on the first primary
              stream on the same mixer.

       wait   Tells the API if the call should wait or not. Must be ROAR_VS_WAIT,  ROAR_VS_NOWAIT
              or ROAR_VS_ASYNC.

       error  This  is  a  pointer  to  a integer used to store the error value in case of error.
              This can be NULL if not used but it is very recommended to use this error value  to
              report good error messages to the user.


       roar_vs_position()  returns  the  stream  position  on  success  and  -1 on error.  Stream
       position is the current position of the stream in units of samples (not frames!).

       roar_vs_latency() returns the stream latency on success and zero on error. However zero is
       a  valid  value.  In case of error error is set to the error. In case of no error but zero
       latency error is cleared (set to ROAR_ERROR_NONE).   Latency  is  retruned  in  mu-seconds




       roarvs(7), libroar(7), RoarAudio(7).