-Louis Bossart skrev:
Refactor code to fetch avail, delay and timestamp values
in a single call to snd_pcm_status().
The information reported is exactly the same as before,
however it is extracted in a more atomic manner to
improve timer-based scheduling.
Signed-off-by: Pierre-Louis Bossart
pierre
Not sure what you mean with sink and ring buffer. When mixing, data
goes from the sink-input / client-server buffer into the DMA buffer
directly.
Please look at protocol-native.c. I am not sure why there is this
division of latency in two, for low-latency you can probably decrease
the
On 01/04/2013 07:59 AM, Tanu Kaskinen wrote:
On Thu, 2013-01-03 at 09:35 -0600, Pierre-Louis Bossart wrote:
@@ -48,7 +48,6 @@ PA_MODULE_USAGE(
_(sink_name=name for the sink
sink_properties=properties for the sink
master=name of sink to filter
There's a bummer though. On the one machine I've tested this, the ELD is not
immediately available, so hotplugging doesn't work. It also looks like there's
no
event being sent out from the kernel when ELD has become available, so we
probably
need to add some kind of timer - but I'm not sure
I was thinking about working to improve the adaptive resampling module
(especially clock drifting handling module) studying the actual relation
with external code (as it has indicated in rough ideas for this GSoC)
and investigating the most known weaknesses.
I don't think the problem is
On 7/13/13 10:48 AM, Tanu Kaskinen wrote:
Hi all,
I've written up a proposal for a public API for controlling routing with
nodes:
http://www.freedesktop.org/wiki/Software/PulseAudio/RFC/RoutingAPI/
Comments would be very welcome.
Thanks Tanu.
Can you clarify the differences between nodes and
When you say can't be represented, do you mean internally in the
server, or in the client API? Internally there will certainly be
knowledge about the conflicts. The plan is to keep this knowledge in the
node backend code, e.g. in the alsa modules. There won't be any generic
representation of
Too bad. Using PA is convenient, as it's already integrated into most
distros. And I am apparently misinterpreting the PA claim Good low
latency behaviour -- but I guess that this depending on the definition
of low latency...
Dedicated box means that this PC is a prototype for some real-world
Makes sense, the polled case should only happen for POLLOUT. But this is
mainly cosmetic in an error case that shouldn't happen.
-Pierre
There's similar case for capture. So update the patch.
Date: Fri, 5 Aug 2011 10:33:17 -0400
Subject: [PATCH] alsa: resets POLLOUT event
revents marked
during mmap_write(), there's chance to increase/decrease watermark. So
before
sleep, the actural sleep time should based on latest watermark.
[snip]
@@ -787,6 +787,7 @@ static int unix_write(struct userdata *u, pa_usec_t
*sleep_usec, pa_bool_t polle
Change makes sense, but this should be
Do you think it's better to invoke pa_thread_new(alsa-sink 0, func,
u)
or adding another index after the plain name? (e.g.
pa_thread_new(alsa-sink, index, func, u))
I've not looked at the code, but if we know the sink index by this
stage
(I'm not sure we do?) then yes that could be
The 2s delay is likely related to the amount of audio that is
buffered
by default.
i've modified the pacat-simple.c example to let me play with the
pa_buffer_attr passed to pa_simple_new, but can't seem to find a
combination that avoids the 2s wait.
Have you played with the prebuf
Have you played with the prebuf field? It defines the amount of
buffering
before playback starts. By default it is set to the tlength size,
that may
explain your 2s wait.
i don't think so. the 2s happens at the end of playback, not the
start.
the trac ticket i referenced explains
I am attaching the pulseaudio usb mic delay log.
When I am running gst-launch-0.10 ! pulsesrc ! pulsesink on pandaboard
getting around 2-3 sec. on the fly audio delay.
Please suggest how to resolve this problem.
Use module-loopback and play with the latency parameters.
Use module-loopback and play with the latency parameters.
In case you don't know what the latency parameters are, on the
gst-launch line, you can append these parameters: e.g.
gst-launch-0.10 pulsesrc buffer-time= latency-time= !
pulsesink buffer-time= latency-time=
For this example, assume tlength is 500 ms and minreq is 50 ms. In
adjust latency mode (which I understand is recommended for power
efficiency), this is configured to the client's tlength/2 - minreq =
200
ms. The problem here is that if the client is filled up to only e g 130
ms, PulseAudio
3) In the latency reported by module-loopback.c, the second number
(i.e.
the internal jitter buffer) dominates, both in USB = same USB and USB
= onboard audio cases: 63.91+733.32+11.65 ms
So, for me, it looks like the USB master clock (from which the USB
audio
clock is derived) is too
In my application, I'm using alsa to set a particular buffer size. Alsa
usually complies, but from everything that I can tell, pulse audio is
using
some other fragment size. This other fragment size also seems to be the
time betwen interrupts which my application sees. This messes up my
I'm trying to take the input (source) from a device
alsa_input.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-mono
and combine that with the output being directed to
alsa_output.usb-Logitech_Logitech_G930_Headset-00-Headset.analog-stereo
to form a new source from which I can
We are trying to get a2dp work using pulse audio 1.0 on arm 11 based
evaluation board. The porting of pulseaudio 1.0 to an ARM 11 board
did not take any additional effort at all unlike the previous
versions. The module loopback for hfp works very well. But when we
try
a2dp streaming,
+#if PA_CHECK_VERSION(1,0,0)
+case VLC_CODEC_A52:
+format = VLC_CODEC_SPDIFL;
+encoding = PA_ENCODING_AC3_IEC61937;
+ss.format = HAVE_FPU ? PA_SAMPLE_FLOAT32NE :
PA_SAMPLE_S16NE;
+break;
This test doesn't seem right. Probably a
So it is not about CPU consumption, pulseaudio is economical with CPU as is.
Have you loaded the module module-suspend-on-idle? If nothing is playing
(and your volume UI isn't showing), the output device should be burn any
power.
I was not successful with this shot (old syntax?):
Makes sense, I'll take a look at what pacat is actually filling the
buffer attributes with and see if I can track this down.
here are some additional explanations. Hang on to your hat, this isn't
simple stuff:
pacat has this 'process-time-msec' parameter which defines the min_req
value (not a
values on sink or
source creation, and reapply them on resume to start with
a clean slate.
Signed-off-by: Pierre-Louis Bossart pierre-louis.boss...@linux.intel.com
---
src/modules/alsa/alsa-sink.c | 63 ++---
src/modules/alsa/alsa-source.c | 66
Whether passing multiple format infos to negotiate digital passthrough,
or
setting one of the PA_STREAM_FIX_* flags on a record stream, I'm a bit
puzzled
how the buffering attributes are supposed to work.
Most of the values are expressed in bytes. How should the application
negotiate
If the RT prio stuff is working the way it should, there shouldn't be
underruns (on the Pulse/ALSA side, not the client side) even if the
system load is high.
I have never seen any issues when the processing is done inside the
real-time thread (voice integration in Meego).
The issue is that
From the discussions it seems that many other people tries to solve
the same problem. We, who made the MeeGo policy framework, concluded
that we need to either upstream our stuff or use/adopt the work that
is in progress.
This is excellent news!
The policy decision point would send profile
Very Cool feature! Why not change sample_spec totally according to
sink's availability, but only sample rate? The default sample_spec
used at initialization, if alsa driver supports various formats/rates,
PA could change sink's sample_spec in order to fit sink-input's
request. Is there any
Subject: [pulseaudio-discuss] [PATCH] Introduce available concept for
ports, and communicate that to clients. Bump protocol version to 24.
---
PROTOCOL| 10
configure.ac|2 +-
src/modules/module-tunnel.c | 91
Did you miss my previous explanation, or did you find it insufficient?
I'm repeating it below:
The protocol skew in Ubuntu 11.10 was actually a mistake on my part.
Since the UI changes that would depend on this information being
available was backed out, I probably should have backed the
Hi Dylan,
please use plain text in your messages, HTML makes it hard to quote your
text...
Your idea of having fewer wakes makes sense. Just technically I think you
are confusing latency with frame size. if you want to use 10ms frames for
speech processing, you will have a 20ms latency, be that
p.s.: Thoughts on giving A2DP sinks the music intended role? This
will mean
all your music/movies will come out your BT headset if paired until you
manually move away, which is a pretty big change in behaviour.
How about the opposite, give hsp/hfp sink the 'voice' role and leave a2dp
for
I have an optimized SSE-based resampling library that I bolted in
PulseAudio. It was measured to bring a 2x speed-up over speex, mainly
because it uses fixed-tables instead of interpolations, the price being that
it can only be used for fixed-rate sinks/sources.
Since it's hardware-specific, I'd
The run-time detection is already available in the pa_cpu_info
structure
in pa_core.
Yes, that's what I'm using.
At compile-time, you could follow something similar to what we've done
for some ARM instructions in configure.ac for the ssat and pkhbt
instructions -- just a small assembly
The -msse3 flag is only used for the low-level code, there should be no
conflict; if SSE3 is not supported this code is never called.
Sure. You just have to be very careful to restrict -msse3 to SSE3-only
code.
While I am at it I can't seem to compile with -msse3 only, somehow I need
2. Should the module itself be dormant? By that I mean should you be
able to pass sink=wibble source=foo and if those devices do not
exist rather than fail as it does now, it just sits and waits for the
devices to appear. When they do appear it all kicks in, and all is well.
When they
For fixed conversion ratios (44.1-48kHz), the speex resampler is
overkill. Using pre-defined tables and a polyphase implementation the
CPU load can be reduced big time, or for the same load the audio quality
can be increased.
I uploaded the latest code of the library we've been using
it seems SSE3 is required
Indeed.
src/Makefile.am:
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += -D__SSSE3__ -msse -msse2 -
msse3 -march=core2 -mfpmath=sse
doesn't -msse3 imply -msse2/-msse?
I honestly have no idea. The code was originally developed with ICC for
atom, not sure what gcc
Hopefully the other Intel folks will have a better solution, but in the
mean time, the right solution to me seems to be to drop -march, put all
those CFLAGS in configure.ac, try to compile a segment of code with it,
and see if it all goes okay. So the actual enabling will only be done
if
the
+static const a2dp_mpeg_t source_caps = {
+.channel_mode = BT_A2DP_CHANNEL_MODE_MONO |
BT_A2DP_CHANNEL_MODE_STEREO |
+BT_A2DP_CHANNEL_MODE_DUAL_CHANNEL |
BT_A2DP_CHANNEL_MODE_JOINT_STEREO,
+.layer = BT_MPEG_LAYER_1 | BT_MPEG_LAYER_2 |
On 3/26/2012 11:54 PM, Steven Elliott wrote:
I use tvtime (an open source TV application) to watch TV on my Fedora 16
system. As some of you may know forwarding audio from the sound card
built into the TV tuner card to the primary sound card is not done by
tvtime. There are various ways of
On 3/29/2012 8:31 AM, Deng Zhenrong wrote:
According to the description below:
http://lkml.org/lkml/2009/7/17/258
There are two benefits:
a) it doesn't need to access the hardware.
b) avoid the syscall by using vdso clock_gettime().
The cons is the CLOCK_MONOTONIC_COARSE returns the
I do this with (on machine A):
pacmd load-module module-tunnel-sink server=10.186.0.111 rate=48000 channels=2
pacmd load-module module-loopback
source=alsa_input.pci-_00_05.0.analog-stereo sink=tunnel.10.186.0.111
latency_msec=80 rate=48000 channels=2
Using this, I get sound (usually - but
On 4/15/2012 5:01 AM, Sebastian Stuecker wrote:
Hallo,
I am building a whole home audio solution with a central server that
has several mpd instances connected each to a pulseaudo null sink and
all those null sinks have their corrosponding RTP sender and use
different multicast IP adresses
On 7/23/2012 3:57 AM, Arun Raghavan wrote:
Hello,
While discussion on how we should deal with hardware with different
requirements from standard desktop cases continues, I'd like to solve the
problem of having modem PCMs that we don't want to auto-suspend in the near
future. For this, I've
the command I test is a loopback (just playback or capture works fine):
pacat -r -d alsa_input.platform-soc-audio.analog-stereo | pacat -p -d
alsa_output.platform-soc-audio.analog-stereo
It could be that your hardware does not let you reconfigure the input
and output independently? I am
On 7/25/2012 4:19 PM, Mark Brown wrote:
If this is for fake streams held open by userspace we have a better in
kernel solution now - just hide the PCM from userspace entirely and
start it like anything else in the device. Will that not suffice?
I don't get it, I must have missed something. What
43817 43.4326 no-vmlinux
16451 16.3067 libpulsecommon-2.0.so
12801 12.6887 libspeexdsp.so.1.5.0
Probably means that you are resampling instead of playing back at the
native frequency. It's a classic with PA.
For various use-cases a passthrough stream should have priority over all
other streams and get exclusive access to the sink regardless of whether
any other streams are playing.
An example use-case is ensuring XBMC can successfully start video
playback (with passthrough) even if an external
On 8/5/14, 12:35 AM, Sajeesh Sidharthan wrote:
---
src/modules/bluetooth/module-bluez5-device.c |8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/modules/bluetooth/module-bluez5-device.c
b/src/modules/bluetooth/module-bluez5-device.c
index 57b2791..eda7a9d
On 9/5/14, 10:15 AM, CS wrote:
I understand that passthrough mode is implemented to handle scenarios
where hardware based decoders are ported, so that PA daemon don't apply
resampling etc. But I don't see any compressed API calls from PA. How this
can be achieved?
The passthrough mode is not
and last you strip the header and pass the
payload to your hardware decoder using the compressed API.
Do you mean by stripping the IEC header frame with MP3 header will be
there and pass the same to hardware decoder?
I'm not sure what Pierre meant. PulseAudio expects the alsa device to
On 9/18/14, 2:13 AM, David Henningsson wrote:
Calling snd_pcm_avail/delay causes a syscall to the kernel, which
communicates with the audio hardware, and can therefore be expensive
on some cards.
By only updating this value after a sleep and after unusual events,
we can reduce calls to update
On 9/21/14, 8:15 AM, Kiran Krishnappa wrote:
Someone on IRC was writing up,
I think, but I don't know what state that got to.
Arun, below is the status of compressed sink:
I was facing some issues in reporting timing to PA client. The compress
library that I am using does provides an API to
On 9/24/14, 1:17 AM, David Henningsson wrote:
On 2014-09-23 22:34, Pierre-Louis Bossart wrote:
On 9/18/14, 2:13 AM, David Henningsson wrote:
Calling snd_pcm_avail/delay causes a syscall to the kernel, which
communicates with the audio hardware, and can therefore be expensive
on some cards
On 11/11/14, 4:06 PM, Marcus van Dam wrote:
Hi,
Today I ran into an issue regarding alternate-sample-rate. Hooking up my
16/48 DAC, I was hoping to play back some 48Khz FLAC files.
With the defaults of:
default-sample-rate = 44100
alternate-sample-rate = 48000
This should be possible, PA should
My USB headsets have mute, volume up and volume down buttons exposed
with an HID interface. When I use them with Ubuntu/PulseAudio nothing
happens.
Wondering if this is not supported at all, if my config is broken or if
a manual setup is required as described in [1] - a basic workaround to
r
On 02/17/2016 09:27 AM, Carlo Caione wrote:
> Hi,
> In our daily work we are seeing more and more laptops coming in with
> SoC audio (ASoC). In the most recent case, we are working with a new
> consumer laptop based on Intel Cherry Trail. As you probably know to
> have audio working on these
[snip]
UCM also does not currently support #include. The intention is to provide a
method to define mixer settings on a codec per codec basis and the these
could be #included into a machine UCM file. The machine UCM file would
also define settings for any quirks and would #include any codec
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 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
On 3/20/16 2:24 PM, Georg Chini wrote:
On 20.03.2016 19:13, Alexander E. Patrakov wrote:
20.03.2016 22:41, Georg Chini пишет:
Hello,
I am still working on module-loopback and hit a problem that I cannot
explain.
When running a HDA card with long latency (333ms) I see that the
resulting
d
anything about the AAC format as such. The bluetooth module would then
have to do the unpacking of the AAC data from the IEC 61937
encapsulation, which hopefully is reasonably straightforward.
Pierre-Louis Bossart did a PoC based on this and I'd expanded on this
a while back, for MP3:
https://cgit
On 5/2/16 8:50 AM, Arun Raghavan wrote:
On 2 May 2016 at 19:06, Pierre-Louis Bossart
<pierre-louis.boss...@linux.intel.com> wrote:
On 4/29/16 10:17 PM, Arun Raghavan wrote:
On 29 April 2016 at 18:57, Tanu Kaskinen <ta...@iki.fi> wrote:
On Wed, 2016-04-27 at 16:53 +0200, Nicole
On 8/18/16 11:43 AM, Rémi Denis-Courmont wrote:
Hello,
For a number of years already, PulseAudio has supported a concept of sink
inputs with multiple formats. That is meant to support S/PDIF output in
addition to PCM.
One thing I´m wondering... what is the expected behaviour for an
On 3/21/17 2:56 AM, Hans de Goede wrote:
I: [pulseaudio] alsa-sink.c: Using 1.0 fragments of size 352832 bytes
(2000.18ms), buffer size is 352832 bytes (2000.18ms)
I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 20.00ms
I: [pulseaudio] alsa-sink.c: Driver does not support hardware
On 05/14/2017 07:34 AM, fulgor fulgor wrote:
Hi
I have a notebook medion but cherry trail Intel devices so kernel
panic on GNU/Linux. I wanted to know if there is a dummy driver on
Windows to send audio data by the network to a pulseaudio server ?
Baytrail and Cherrytrail are well
On 8/28/17 11:28 PM, Alexander E. Patrakov wrote:
2017-08-29 3:49 GMT+05:00 Pierre-Louis Bossart
<pierre-louis.boss...@linux.intel.com>:
HDMI passthrough needs some love. What works with ALSA is plain
broken with PulseAudio (no audio or random noise). Only the AC3
format seems to work
On 9/3/17 12:59 AM, Arun Raghavan wrote:
On Tue, 29 Aug 2017, at 04:19 AM, Pierre-Louis Bossart wrote:
Add definitions and fixups for channel count
Signed-off-by: Pierre-Louis Bossart
<pierre-louis.boss...@linux.intel.com>
---
src/pulse/format.c | 2 ++
src/pulse/fo
here.
Pierre-Louis Bossart (2):
pulsecore: sink: force suspend/resume on passthrough transitions
alsa: add support for Dolby TrueHD and DTS-HD HBR passthrough
src/pulse/format.c | 2 ++
src/pulse/format.h | 8
src/pulsecore/core-format.c | 6 +-
src
Add definitions and fixups for channel count
Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
---
src/pulse/format.c | 2 ++
src/pulse/format.h | 8
src/pulsecore/core-format.c | 6 +-
3 files changed, 15 insertions(+), 1 deletion(-)
On 9/4/17 11:10 PM, Arun Raghavan wrote:
On Tue, 5 Sep 2017, at 09:17 AM, Pierre-Louis Bossart wrote:
On 9/3/17 12:59 AM, Arun Raghavan wrote:
On Tue, 29 Aug 2017, at 04:19 AM, Pierre-Louis Bossart wrote:
Add definitions and fixups for channel count
Signed-off-by: Pierre-Louis Bossart
On 12/11/2017 07:40 AM, Takashi Iwai wrote:
On Mon, 11 Dec 2017 13:30:35 +0100,
Hans de Goede wrote:
Hi All,
This weekend I've created a modified ucm config based on:
https://github.com/plbossart/UCM/tree/master/chtrt5645
For a board which has a single speaker connected to the
left channel
On 5/15/18 8:12 AM, Arun Raghavan wrote:
On Tue, 15 May 2018, at 11:30 AM, Georg Chini wrote:
The commit "alsa-util: Set ALSA report_delay flag in pa_alsa_safe_delay()"
broke the build on ALSA versions below 1.1.0 because the time stamp
configuration function was introduced in 1.1.0.
This
On 04/02/2018 07:54 AM, Georg Chini wrote:
The current code does not call snd_pcm_status_set_audio_htstamp_config()
to configure the way timestamps are updated in ALSA. This leads to
incorrect time stamps in the status object returned by snd_pcm_status(),
so the computed latencies are wrong.
On 4/2/18 3:14 PM, Georg Chini wrote:
On 02.04.2018 21:35, Pierre-Louis Bossart wrote:
On 04/02/2018 07:54 AM, Georg Chini wrote:
The current code does not call snd_pcm_status_set_audio_htstamp_config()
to configure the way timestamps are updated in ALSA. This leads to
incorrect time stamps
On Thu, Aug 06, 2020 at 10:30:36AM -0500, Pierre-Louis Bossart wrote:
What I was trying to describe in my earlier answer is a different need to
have an atomic update of *multiple* controls.
If e.g. a DSP or hardware engine exposes two separate filters for left and
right channels
ALSA control core allows applications to lock/unlock a control element
so that any write opreation to the control element fails for processes
except for owner process.
When a process requests `SNDRV_CTL_IOCTL_ELEM_LOCK`[1] against a
control element. After operating the request, the control
[Adding Mark, Takashi and Jaroslav in CC: to make sure they see this thread]
On 8/5/20 12:31 PM, Tom Yan wrote:
Hi all,
I just wonder if it's a "no one cares" or a "no one was aware of it"
issue (or maybe both?).
none of the above, see below
When you change (integer) values (e.g. volume)
So, rather the question is how we should provide the setup of such
parameter. It's supposed to be a part of power management stuff that
should be touched by either a smart PM tool or a manual override such
as runtime PM setup? Or can it be seen as a more casual tuning?
I am not aware of
On 6/25/20 10:30 AM, Jaroslav Kysela wrote:
Dne 25. 06. 20 v 16:46 Pierre-Louis Bossart napsal(a):
So, rather the question is how we should provide the setup of such
parameter. It's supposed to be a part of power management stuff
that
should be touched by either a smart PM tool
On 2/4/21 7:15 PM, Sean Greenslade wrote:
On Thu, Feb 04, 2021 at 06:29:47PM +0100, Renaud GHIA wrote:
Thank you for the tip.
Now I am sure that resampling does not apply (see below).
But unfortunately pulseaudio always consumes 30% of one CPU core!
The reason is that you are using
82 matches
Mail list logo