On Thu, 01 Sep 2016 08:06:50 +0200, David Henningsson wrote:
Without this patch, there no way to revert to the old behaviour with pcm_hw, so currently there will always be some extra locking.
This seems to be an oversight?
thread_safe=1 means that the plugin needs no locking, so it means hw PCM never takes a lock by itself. Only other plugins do, and it's suppressed when $LIBASOUND_THREAD_SAFE=0 is passed.
The flag needs a better description or a better name...
Takashi
Reported-by: Samuel Thibault samuel.thibault@ens-lyon.org Signed-off-by: David Henningsson diwic@ubuntu.com
src/pcm/pcm_hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c index 3a5634c..e6a8a4f 100644 --- a/src/pcm/pcm_hw.c +++ b/src/pcm/pcm_hw.c @@ -1514,7 +1514,8 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name, pcm->poll_events = info.stream == SND_PCM_STREAM_PLAYBACK ? POLLOUT : POLLIN; pcm->tstamp_type = tstamp_type; #ifdef THREAD_SAFE_API
- pcm->thread_safe = 1;
- if (pcm->thread_safe != -1)
pcm->thread_safe = 1;
#endif
ret = snd_pcm_hw_mmap_status(pcm);
1.9.1