On 19.04.2016 12:57, Tanu Kaskinen wrote:
On Sun, 2016-04-17 at 13:15 +0200, Georg Chini wrote:
Hi Tanu,
finally I figured it out where I went wrong. We are both right to some
extent,
but (what is the important bit) you are right in so far, that the
startup delay
should not be included in the
On Sun, 2016-04-17 at 13:15 +0200, Georg Chini wrote:
> Hi Tanu,
>
> finally I figured it out where I went wrong. We are both right to some
> extent,
> but (what is the important bit) you are right in so far, that the
> startup delay
> should not be included in the latency reports. So sorry for
On 16.04.2016 05:08, Raymond Yau wrote:
>>
>>
>> >
>> >> do loopback module assume sink is not running when it start
source capture?
>> >>
>> > Sink and source are started independently. Source data is
discarded until the sink-input has
>> > called pop() the first time.
>>
>> But you
>>
>>
>> >
>> >> do loopback module assume sink is not running when it start source
capture?
>> >>
>> > Sink and source are started independently. Source data is discarded
until the sink-input has
>> > called pop() the first time.
>>
>> But you cannot skip more than 9ms source data since you need
On 13.04.2016 17:06, Raymond Yau wrote:
>
>> do loopback module assume sink is not running when it start source
capture?
>>
> Sink and source are started independently. Source data is discarded
until the sink-input has
> called pop() the first time.
But you cannot skip more than 9ms
>
>> do loopback module assume sink is not running when it start source
capture?
>>
> Sink and source are started independently. Source data is discarded until
the sink-input has
> called pop() the first time.
But you cannot skip more than 9ms source data since you need 1ms( or 25ms
fragment
On 13 April 2016 at 12:53, Georg Chini wrote:
> On 12.04.2016 06:33, Arun Raghavan wrote:
>>
>> On Thu, 2016-04-07 at 09:15 +0200, Georg Chini wrote:
>>>
>>> BTW, do you think the debug output of module-loopback is
>>> better now?
>>
>> Yes, although if it's
On 12.04.2016 06:33, Arun Raghavan wrote:
On Thu, 2016-04-07 at 09:15 +0200, Georg Chini wrote:
BTW, do you think the debug output of module-loopback is
better now?
Yes, although if it's logged twice a second, it might be better
to
print the status only if explicitly requested via a module
Hi Tanu,
I did a quick test, that verifies my assumption. Latency below always
refers to the end-to-end latency of module-loopback.
I put in a 2ms sleep before snd_pcm_start(), thereby introducing some
unexpected "extra extra delay". Naturally this will only work,
if snd_pcm_start() is really
On Thu, 2016-04-07 at 09:15 +0200, Georg Chini wrote:
> >
> > >
> > > >
> > > > >
> > > > > BTW, do you think the debug output of module-loopback is
> > > > > better now?
> > > > Yes, although if it's logged twice a second, it might be better
> > > > to
> > > > print the status only if
On 11.04.2016 21:13, Tanu Kaskinen wrote:
On Fri, 2016-04-08 at 20:23 +0200, Georg Chini wrote:
On 08.04.2016 18:01, Tanu Kaskinen wrote:
On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
On 06.04.2016 15:55, Tanu Kaskinen wrote:
On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
On
On 11.04.2016 21:44, Tanu Kaskinen wrote:
On Sat, 2016-04-09 at 11:31 +0200, Georg Chini wrote:
On 08.04.2016 20:23, Georg Chini wrote:
On 08.04.2016 18:01, Tanu Kaskinen wrote:
On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
On 06.04.2016 15:55, Tanu Kaskinen wrote:
On Tue,
On Sat, 2016-04-09 at 11:31 +0200, Georg Chini wrote:
> On 08.04.2016 20:23, Georg Chini wrote:
> >
> > On 08.04.2016 18:01, Tanu Kaskinen wrote:
> > >
> > > On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
> > > >
> > > > On 06.04.2016 15:55, Tanu Kaskinen wrote:
> > > > >
> > > > > On
On Fri, 2016-04-08 at 20:23 +0200, Georg Chini wrote:
> On 08.04.2016 18:01, Tanu Kaskinen wrote:
> > On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
> > > On 06.04.2016 15:55, Tanu Kaskinen wrote:
> > > > On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
> > > > > On 05.04.2016 17:42,
On 08.04.2016 20:23, Georg Chini wrote:
On 08.04.2016 18:01, Tanu Kaskinen wrote:
On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
On 06.04.2016 15:55, Tanu Kaskinen wrote:
On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
On 05.04.2016 17:42, Tanu Kaskinen wrote:
Anyway, even if
Do loopback module stop the running pcm stream ?
Seem pulseaudio does not use snd_pcm_drop nor snd_pcm_drain, how can
the running pcm stream stop?
This is the beginning of the suspend function of module-loopback, so
obviously
sorry, the suspend function is in alsa-sink, not
On 09.04.2016 03:29, Raymond Yau wrote:
2016-4-9 上午2:23於 "Georg Chini" >寫道:
>
> On 08.04.2016 18:01, Tanu Kaskinen wrote:
>
>>
>> I can't follow that line of reasoning. In the beginning the
ring buffer
>> is filled to max, and once you
2016-4-9 上午2:23於 "Georg Chini" 寫道:
>
> On 08.04.2016 18:01, Tanu Kaskinen wrote:
>
>>
>> I can't follow that line of reasoning. In the beginning the ring
buffer
>> is filled to max, and once you call snd_pcm_start(), data starts to
>> move from the ring buffer to
On 08.04.2016 18:01, Tanu Kaskinen wrote:
On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
On 06.04.2016 15:55, Tanu Kaskinen wrote:
On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
On 05.04.2016 17:42, Tanu Kaskinen wrote:
I can't follow that line of reasoning. In the beginning
On Thu, 2016-04-07 at 09:15 +0200, Georg Chini wrote:
> Would it be OK to add a log-interval argument with a default of
> let's say 5 seconds or would you prefer if there is no logging
> at all without an argument?
My preference would be to have a simple on/off option that defaults to
off, but I
On Wed, 2016-04-06 at 21:17 +0200, Georg Chini wrote:
> On 06.04.2016 15:55, Tanu Kaskinen wrote:
> > On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
> > > On 05.04.2016 17:42, Tanu Kaskinen wrote:
> > > > I can't follow that line of reasoning. In the beginning the ring buffer
> > > > is
On 07.04.2016 17:05, Raymond Yau wrote:
>> The capture device may already started by other application (e.g.
mic peak of pavucontrol), there is some audio already captured by
driver but not read by server
>>
>> At low latency, usb pointer incremented by number of frames in urb
packet but
>> The capture device may already started by other application (e.g. mic
peak of pavucontrol), there is some audio already captured by driver but
not read by server
>>
>> At low latency, usb pointer incremented by number of frames in urb
packet but hda intel increment by frames in dma brust
>>
>>
BTW, do you think the debug output of module-loopback is
better now?
Yes, although if it's logged twice a second, it might be better to
print the status only if explicitly requested via a module argument.
The status is printed once every adjust time and only when debug
logging is enabled.
On 06.04.2016 15:55, Tanu Kaskinen wrote:
On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
On 05.04.2016 17:42, Tanu Kaskinen wrote:
On Sat, 2016-04-02 at 18:13 +0200, Georg Chini wrote:
On 02.04.2016 16:10, Tanu Kaskinen wrote:
On Wed, 2016-03-30 at 22:31 +0200, Georg Chini wrote:
On
On Tue, 2016-04-05 at 21:54 +0200, Georg Chini wrote:
> On 05.04.2016 17:42, Tanu Kaskinen wrote:
> >
> > On Sat, 2016-04-02 at 18:13 +0200, Georg Chini wrote:
> > >
> > > On 02.04.2016 16:10, Tanu Kaskinen wrote:
> > > >
> > > > On Wed, 2016-03-30 at 22:31 +0200, Georg Chini wrote:
> > > > >
On 06.04.2016 05:08, Raymond Yau wrote:
>>>
>>> 5) The pulseaudio sink code takes the first 10ms of audio out
of the
>>> loopback buffer,
>>> writes it to the alsa buffer and calls snd_pcm_start().
>>
>> If the sink takes something from the loopback buffer, this
>>>
>>> 5) The pulseaudio sink code takes the first 10ms of audio out of the
>>> loopback buffer,
>>> writes it to the alsa buffer and calls snd_pcm_start().
>>
>> If the sink takes something from the loopback buffer, this means that
>> the first pop() call has been
On Sat, 2016-04-02 at 18:13 +0200, Georg Chini wrote:
> On 02.04.2016 16:10, Tanu Kaskinen wrote:
> >
> > On Wed, 2016-03-30 at 22:31 +0200, Georg Chini wrote:
> > >
> > > On 30.03.2016 18:06, Tanu Kaskinen wrote:
> > > >
> > > > On Tue, 2016-03-29 at 20:29 +0200, Georg Chini wrote:
> > > > >
On 03.04.2016 03:47, Raymond Yau wrote:
>>
> 5) The pulseaudio sink code takes the first 10ms of audio out of the
> loopback buffer,
> writes it to the alsa buffer and calls snd_pcm_start().
If the sink takes something from the loopback buffer, this means that
the
>>
> 5) The pulseaudio sink code takes the first 10ms of audio out of the
> loopback buffer,
> writes it to the alsa buffer and calls snd_pcm_start().
If the sink takes something from the loopback buffer, this means that
the first pop() call has been made. Assuming no
On 02.04.2016 16:10, Tanu Kaskinen wrote:
On Wed, 2016-03-30 at 22:31 +0200, Georg Chini wrote:
On 30.03.2016 18:06, Tanu Kaskinen wrote:
On Tue, 2016-03-29 at 20:29 +0200, Georg Chini wrote:
The starting point is the observation, that with module-loopback and an
USB sink
the real end-to-end
On Wed, 2016-03-30 at 22:31 +0200, Georg Chini wrote:
> On 30.03.2016 18:06, Tanu Kaskinen wrote:
> >
> > On Tue, 2016-03-29 at 20:29 +0200, Georg Chini wrote:
> > > OK, I thought about it another time and I believe I figured out what the
> > > problem is.
> > >
> > > (Sometimes I feel like I am
>>
>>> > I don't want to shorten the latency. I only want the latency reported
correctly. To me it still
>>> > looks like the real latency of the driver is not what it reports,
because the time that the
>>> > audio spends in the URB's is not taken into account. What I am seeing
is, that the real
On 29.03.2016 21:15, Georg Chini wrote:
On 29.03.2016 20:59, Raymond Yau wrote:
>>
>> The USB driver will submit N silence URBs on startup in the
prepare and you will have to wait for those URBs to retire before the
samples are queued. There is very little 'USB processing'. If you
want to
On 30.03.2016 18:06, Tanu Kaskinen wrote:
On Tue, 2016-03-29 at 20:29 +0200, Georg Chini wrote:
On 29.03.2016 05:56, Georg Chini wrote:
On 29.03.2016 02:13, Pierre-Louis Bossart wrote:
On 3/28/16 12:38 PM, Georg Chini wrote:
On 28.03.2016 17:18, Georg Chini wrote:
On 28.03.2016 16:16,
On Tue, 2016-03-29 at 20:29 +0200, Georg Chini wrote:
> On 29.03.2016 05:56, Georg Chini wrote:
> >
> > On 29.03.2016 02:13, Pierre-Louis Bossart wrote:
> > >
> > > On 3/28/16 12:38 PM, Georg Chini wrote:
> > > >
> > > > On 28.03.2016 17:18, Georg Chini wrote:
> > > > >
> > > > > On 28.03.2016
On Sun, 2016-03-27 at 17:50 +0200, Georg Chini wrote:
> On 27.03.2016 10:47, Tanu Kaskinen wrote:
> >
> > On Sat, 2016-03-26 at 13:16 +0100, Georg Chini wrote:
> > >
> > > On 24.03.2016 13:38, Tanu Kaskinen wrote:
> > >
> > > For me it still looks like pulseaudio should be able to detect and
On 29.03.2016 20:59, Raymond Yau wrote:
>>
>> The USB driver will submit N silence URBs on startup in the prepare
and you will have to wait for those URBs to retire before the samples
are queued. There is very little 'USB processing'. If you want to
reduce this delay you have to use smaller
>>
>> The USB driver will submit N silence URBs on startup in the prepare and
you will have to wait for those URBs to retire before the samples are
queued. There is very little 'USB processing'. If you want to reduce this
delay you have to use smaller periods, it'll decrease the size of the URBs.
On 29.03.2016 05:56, Georg Chini wrote:
On 29.03.2016 02:13, Pierre-Louis Bossart wrote:
On 3/28/16 12:38 PM, Georg Chini wrote:
On 28.03.2016 17:18, Georg Chini wrote:
On 28.03.2016 16:16, Pierre-Louis Bossart wrote:
On 3/22/16 4:11 AM, Georg Chini wrote:
Hi,
Ups, looks like I misread
On 29.03.2016 02:13, Pierre-Louis Bossart wrote:
On 3/28/16 12:38 PM, Georg Chini wrote:
On 28.03.2016 17:18, Georg Chini wrote:
On 28.03.2016 16:16, Pierre-Louis Bossart wrote:
On 3/22/16 4:11 AM, Georg Chini wrote:
Hi,
Ups, looks like I misread your sentence above. You are right, in
On 3/28/16 12:38 PM, Georg Chini wrote:
On 28.03.2016 17:18, Georg Chini wrote:
On 28.03.2016 16:16, Pierre-Louis Bossart wrote:
On 3/22/16 4:11 AM, Georg Chini wrote:
Hi,
Sorry I missed this thread last week.
At the risk of being pedantic, maybe you should consider two
different concepts.
On 28.03.2016 16:16, Pierre-Louis Bossart wrote:
On 3/22/16 4:11 AM, Georg Chini wrote:
Hi,
when a sink is started, there is some delay before the first sample is
really played.
This delay is a constant part of the sink latency that will be always
present, so the
minimum sink latency cannot go
On 3/22/16 4:11 AM, Georg Chini wrote:
Hi,
when a sink is started, there is some delay before the first sample is
really played.
This delay is a constant part of the sink latency that will be always
present, so the
minimum sink latency cannot go below that start delay.
Would it be acceptable to
>
> when a sink is started, there is some delay before the first sample is
really played.
> This delay is a constant part of the sink latency that will be always
present, so the
> minimum sink latency cannot go below that start delay.
> Would it be acceptable to adjust the latency range for the
On 27.03.2016 10:47, Tanu Kaskinen wrote:
On Sat, 2016-03-26 at 13:16 +0100, Georg Chini wrote:
On 24.03.2016 13:38, Tanu Kaskinen wrote:
For me it still looks like pulseaudio should be able to detect and handle
that situation.
Why can't the alsa driver report the delay correctly from the
On 27.03.2016 10:47, Tanu Kaskinen wrote:
On Sat, 2016-03-26 at 13:16 +0100, Georg Chini wrote:
On 24.03.2016 13:38, Tanu Kaskinen wrote:
I also checked again, what exactly happens at startup.
mmap_write() fills the buffer to the expected level and then
snd_pcm_start() is called.
When
On Sat, 2016-03-26 at 13:16 +0100, Georg Chini wrote:
> On 24.03.2016 13:38, Tanu Kaskinen wrote:
> > I expect there to be a fixed buffer. It doesn't make sense to me that
> > the driver would consume data from the ring buffer when the full
> > pipeline isn't yet running. I don't know much about
On 24.03.2016 13:38, Tanu Kaskinen wrote:
On Thu, 2016-03-24 at 13:24 +0100, Georg Chini wrote:
On 24.03.2016 10:36, Tanu Kaskinen wrote:
On Wed, 2016-03-23 at 14:59 +0100, Georg Chini wrote:
On 23.03.2016 14:00, Tanu Kaskinen wrote:
You confirmed that pa_alsa_safe_delay() returns values
On Thu, 2016-03-24 at 13:24 +0100, Georg Chini wrote:
> On 24.03.2016 10:36, Tanu Kaskinen wrote:
> >
> > On Wed, 2016-03-23 at 14:59 +0100, Georg Chini wrote:
> > >
> > > On 23.03.2016 14:00, Tanu Kaskinen wrote:
> > > >
> > > > You confirmed that pa_alsa_safe_delay() returns values that
On 24.03.2016 10:36, Tanu Kaskinen wrote:
On Wed, 2016-03-23 at 14:59 +0100, Georg Chini wrote:
On 23.03.2016 14:00, Tanu Kaskinen wrote:
You confirmed that pa_alsa_safe_delay() returns values that increase
whenever we write more data. That indicates that the smoother is not to
blame. If you
On Wed, 2016-03-23 at 14:59 +0100, Georg Chini wrote:
> On 23.03.2016 14:00, Tanu Kaskinen wrote:
> >
> > You confirmed that pa_alsa_safe_delay() returns values that increase
> > whenever we write more data. That indicates that the smoother is not to
> > blame. If you substract the current ring
On 23.03.2016 14:00, Tanu Kaskinen wrote:
On Wed, 2016-03-23 at 13:09 +0100, Georg Chini wrote:
On 23.03.2016 12:26, Tanu Kaskinen wrote:
On Wed, 2016-03-23 at 11:34 +0100, Georg Chini wrote:
On 23.03.2016 11:04, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 12:57 +0100, Georg Chini wrote:
On Wed, 2016-03-23 at 13:09 +0100, Georg Chini wrote:
> On 23.03.2016 12:26, Tanu Kaskinen wrote:
> >
> > On Wed, 2016-03-23 at 11:34 +0100, Georg Chini wrote:
> > >
> > > On 23.03.2016 11:04, Tanu Kaskinen wrote:
> > > >
> > > > On Tue, 2016-03-22 at 12:57 +0100, Georg Chini wrote:
> > > > >
On 23.03.2016 12:26, Tanu Kaskinen wrote:
On Wed, 2016-03-23 at 11:34 +0100, Georg Chini wrote:
On 23.03.2016 11:04, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 12:57 +0100, Georg Chini wrote:
On 22.03.2016 12:51, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
On
On Wed, 2016-03-23 at 11:34 +0100, Georg Chini wrote:
> On 23.03.2016 11:04, Tanu Kaskinen wrote:
> >
> > On Tue, 2016-03-22 at 12:57 +0100, Georg Chini wrote:
> > >
> > > On 22.03.2016 12:51, Tanu Kaskinen wrote:
> > > >
> > > > On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
> > > > >
On Tue, 2016-03-22 at 12:57 +0100, Georg Chini wrote:
> On 22.03.2016 12:51, Tanu Kaskinen wrote:
> >
> > On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
> > >
> > > On 22.03.2016 12:20, Tanu Kaskinen wrote:
> > > >
> > > > On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
> > > > >
On 22.03.2016 12:57, Georg Chini wrote:
On 22.03.2016 12:51, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
On 22.03.2016 12:20, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
Hi,
when a sink is started, there is some delay before the
On 22.03.2016 12:51, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
On 22.03.2016 12:20, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
Hi,
when a sink is started, there is some delay before the first sample is
really played.
This delay
On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
> On 22.03.2016 12:20, Tanu Kaskinen wrote:
> >
> > On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
> > >
> > > Hi,
> > >
> > > when a sink is started, there is some delay before the first sample is
> > > really played.
> > > This
On 22.03.2016 12:20, Tanu Kaskinen wrote:
On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
Hi,
when a sink is started, there is some delay before the first sample is
really played.
This delay is a constant part of the sink latency that will be always
present, so the
minimum sink latency
On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
> Hi,
>
> when a sink is started, there is some delay before the first sample is
> really played.
> This delay is a constant part of the sink latency that will be always
> present, so the
> minimum sink latency cannot go below that start
63 matches
Mail list logo