* read time information
[not found] <200201212159.QAA05738@renoir.op.net>
@ 2002-11-15 10:28 ` Men Muheim
2002-11-15 15:03 ` Paul Davis
0 siblings, 1 reply; 3+ messages in thread
From: Men Muheim @ 2002-11-15 10:28 UTC (permalink / raw)
To: alsa-devel
For synchronization purpose I need the current time of my sound card
(information on the sample that is currently played out might be
sufficient / ADAT-Synch timecode) I did anticipate that the functions
snd_pcm_status_alloca(&status);
snd_pcm_status_get_tstamp(status, timestamp);
do help me with this, but obviously they only call gettimeofday()
instead of returning a sound card time information (see
http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2latency_8c-example
.html#example_test_latency). From the API description I have found that
snd_pcm_hwsynch(...)
snd_pcm_delay(...)
must be used to get the current sample positions of the DAC/ADC. But
these functions do not seem to work on my system (alsa-0.9.0rc5 and an
RME9652 sound card). Besides that I want to read the ADAT-Synch timecode
instead of the buffer relative sample offset.
Therefore I was looking for another solution to get the time. I tried to
use the ALSA timer interface
(http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2timer_8c-example.
html#example_test_timer). But unfortunately I am getting a "timer time
out!", which means that
snd_timer_poll_descriptors(...)
did fail. Is the timer interface implemented for the By the RME9652? By
the way I do not understand how the sample number to the read time do
correlate with each other.
I would appreciate any help with this because if I cannot solve this
problem, I have to move to Windows ASIO (what a pitty!) ASIO provides
the functions
ASIOGetSamplePosition(...)
bufferSwitchTimeInfo(...)
which do exactly what I need.
Regards,
Men
-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: read time information
2002-11-15 10:28 ` read time information Men Muheim
@ 2002-11-15 15:03 ` Paul Davis
2002-11-18 9:55 ` Men Muheim
0 siblings, 1 reply; 3+ messages in thread
From: Paul Davis @ 2002-11-15 15:03 UTC (permalink / raw)
To: men; +Cc: alsa-devel
>For synchronization purpose I need the current time of my sound card
>(information on the sample that is currently played out might be
>sufficient / ADAT-Synch timecode) I did anticipate that the functions
the code to read the ADAT sync timecode is written, but is not
"exported" to a usable part of the ALSA API. it will likely show up as
a readable PCM "control".
>snd_pcm_hwsynch(...)
never heard of that function. you learn something new every day :)
>snd_pcm_delay(...)
>
>must be used to get the current sample positions of the DAC/ADC. But
>these functions do not seem to work on my system (alsa-0.9.0rc5 and an
>RME9652 sound card). Besides that I want to read the ADAT-Synch timecode
>instead of the buffer relative sample offset.
they are two completely different things. one is not a substitute for
the other.
>Therefore I was looking for another solution to get the time. I tried to
>use the ALSA timer interface
>(http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2timer_8c-example.
>html#example_test_timer). But unfortunately I am getting a "timer time
>out!", which means that
>
>snd_timer_poll_descriptors(...)
>
>did fail. Is the timer interface implemented for the By the RME9652? By
>the way I do not understand how the sample number to the read time do
>correlate with each other.
the "timer" interface is part of the core of the ALSA drivers, its not
specific to any particular driver. i have no idea how to use it
however, and its not documented anywhere except for a few messages in
the archives of this list and/or alsa-user.
but first you need to define what it is that you are trying to
do. bringing the ADAT sync timecode into the picture greatly confuses
things because this has nothing to do with the other functions you are
describing. ADAT sync time can move backwards, can speed up, slow down
etc.
>I would appreciate any help with this because if I cannot solve this
>problem, I have to move to Windows ASIO (what a pitty!) ASIO provides
>the functions
>
>ASIOGetSamplePosition(...)
>bufferSwitchTimeInfo(...)
>
>which do exactly what I need.
and what is it that you need? what are you trying to do?
--p
-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: read time information
2002-11-15 15:03 ` Paul Davis
@ 2002-11-18 9:55 ` Men Muheim
0 siblings, 0 replies; 3+ messages in thread
From: Men Muheim @ 2002-11-18 9:55 UTC (permalink / raw)
To: alsa-devel
Two machines that are only connected through Ethernet should generate an
impulse signal at a well defined global time. I want to measure the
jitter between the two impulse signals.
For that purpose I have implemented an application with two threads. One
thread is finding a mapping between the global time and the audio sample
clock (a clock which is directly related to the playout of audio
samples, e.g. a counter of currently played samples) by periodically
measuring the current sample clock. Therefore an API method such as
snd_timer_info_get_ticks(...)
or
snd_pcm_delay(...)
or
snd_pcm_status_get_tstamp(...)
is needed.
The second thread generates an impulse at given sample clock. Therefore
it must know, which sample clock corresponds to what offset in the
snd_pcm_channel_area_t.
How do you think I could achieve that with the given API?
Regards, Men
PS: I was talking of ADAT synch, because in normal play mode the ADAT
synch counts the number of samples currently played out.
> -----Original Message-----
> From: alsa-devel-admin@lists.sourceforge.net [mailto:alsa-devel-
> admin@lists.sourceforge.net] On Behalf Of Paul Davis
> Sent: Freitag, 15. November 2002 16:03
> To: men@ife.ee.ethz.ch
> Cc: alsa-devel@lists.sourceforge.net
> Subject: Re: [Alsa-devel] read time information
>
> >For synchronization purpose I need the current time of my sound card
> >(information on the sample that is currently played out might be
> >sufficient / ADAT-Synch timecode) I did anticipate that the functions
>
> the code to read the ADAT sync timecode is written, but is not
> "exported" to a usable part of the ALSA API. it will likely show up as
> a readable PCM "control".
>
> >snd_pcm_hwsynch(...)
>
> never heard of that function. you learn something new every day :)
>
> >snd_pcm_delay(...)
> >
> >must be used to get the current sample positions of the DAC/ADC. But
> >these functions do not seem to work on my system (alsa-0.9.0rc5 and
an
> >RME9652 sound card). Besides that I want to read the ADAT-Synch
timecode
> >instead of the buffer relative sample offset.
>
> they are two completely different things. one is not a substitute for
> the other.
>
> >Therefore I was looking for another solution to get the time. I tried
to
> >use the ALSA timer interface
>
>(http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2timer_8c-example
.
> >html#example_test_timer). But unfortunately I am getting a "timer
time
> >out!", which means that
> >
> >snd_timer_poll_descriptors(...)
> >
> >did fail. Is the timer interface implemented for the By the RME9652?
By
> >the way I do not understand how the sample number to the read time do
> >correlate with each other.
>
> the "timer" interface is part of the core of the ALSA drivers, its not
> specific to any particular driver. i have no idea how to use it
> however, and its not documented anywhere except for a few messages in
> the archives of this list and/or alsa-user.
>
> but first you need to define what it is that you are trying to
> do. bringing the ADAT sync timecode into the picture greatly confuses
> things because this has nothing to do with the other functions you are
> describing. ADAT sync time can move backwards, can speed up, slow down
> etc.
>
> >I would appreciate any help with this because if I cannot solve this
> >problem, I have to move to Windows ASIO (what a pitty!) ASIO provides
> >the functions
> >
> >ASIOGetSamplePosition(...)
> >bufferSwitchTimeInfo(...)
> >
> >which do exactly what I need.
>
> and what is it that you need? what are you trying to do?
>
> --p
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: To learn the basics of securing
> your web site with SSL, click here to get a FREE TRIAL of a Thawte
> Server Certificate: http://www.gothawte.com/rd524.html
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-11-18 9:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200201212159.QAA05738@renoir.op.net>
2002-11-15 10:28 ` read time information Men Muheim
2002-11-15 15:03 ` Paul Davis
2002-11-18 9:55 ` Men Muheim
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.