Mike Brady
3db689f9e8
Deallocate settings strings on exit.
2023-10-05 09:39:22 +01:00
Mike Brady
afdf0d8632
Stability improvements -- take more care when the fifi is full, fix a logical error in the use of the buffer mutex.
2023-10-01 09:28:41 +01:00
Mike Brady
d1294c335e
stop linker errors if built alongside audio_pa
2023-09-30 17:25:42 +01:00
Mike Brady
786481d855
mutex lock was protecting the wrong variable, duh.
2023-09-30 15:41:40 +01:00
Mike Brady
b3af03ebc0
fix a warning of discarding a const property
2023-06-10 15:36:40 +01:00
Mike Brady
66ca645002
Check the pulseaudio stream whenever the pa backend is called. Warnings are issued for apparent problems.
2023-01-18 12:52:11 +00:00
Mike Brady
b35d470c77
tidy up a few small things.
2023-01-13 20:46:54 +00:00
Mike Brady
a16933bbc1
Stop using the pa_stream_is_suspended, but check writing errors more carefully.
2023-01-13 20:41:27 +00:00
Mike Brady
0ac1c0d8b5
Check to see if the stream is suspended when accessing it or sending data.
2023-01-13 18:06:34 +00:00
Mike Brady
c2e4ab29f1
Quieten some debug messages
2023-01-13 15:19:46 +00:00
Mike Brady
99ca92998e
Gremlin fix and comment tidy-up
2023-01-13 15:08:51 +00:00
Mike Brady
20dca3c542
Clean up the PulseAudio backend to open a stream once only.
2023-01-13 14:33:30 +00:00
Mike Brady
e8b8c6edb7
Clang cleanup
2022-11-18 18:14:50 +00:00
Mike Brady
60e913dd6e
In the PulseAudio backend, Whenever a play or latency request is made, open the stream if it is closed.
2022-11-16 10:02:00 +00:00
Mike Brady
fd880056fb
Squashed commit of the following:
...
Add three parameters to the backend play() function call -- (1) a flag indicating whether the samples are timed or not. If timed, (2) the timestamp and (3) the local time at which the first frame should be heard.
Update missing pipewire library message.
Makefile.am fix.
Update the SHM version and fix the SHM name so that it works with FreeBSD.
Remove redundant (?) AC_HEADER_STDC check.
Fix compilation and installation under FreeBSD -- changes to allow building in a separate directory broke the FreeBSD build process.
Add AC_CHECK_LIB for gcrypt in case PKG_CHECK_MODULES fails to find it.
Find gcrypt using pkg-config
Add code to detect when the RTSP channel goes idle for a period, and use it to reset clocks and timings, etc. so that SPS resumes correctly where the source has gone to sleep while playing a realtime stream and has subsequently woken up.
Don't exit if a UDP Clock Control packet is empty. Also check minimum packet size.
Remove some very experimental code which may cause memory and port leaks.
Strip file path from the filename used in debug messages, information messages, warnings and fatal error messages.
BB fix to Makefile.am -- overwriting the DBUS stuff with MPRIS definitions, duh.
Fix some problems building on FreeBSD and tidy up the use of the "sed" editor.
Fix some problems building on picore.
Fix an uninitialised variable
start using the "nqptp" SMI
2022-09-12 15:19:52 +01:00
Mike Brady
cd9da86fc3
Add a 'stats' function to the audio back ends to replace the 'rate_info' function. Zero all except the alsa back end.
2021-11-20 13:59:16 +00:00
Guillaume Revaillot
aacc4e802b
Allow to specify pulseaudio server instead of using default one.
...
Add "server" entry to pa config section, allowing to connect to a remote or a local system
pulseaudio instance instead of letting pulseaudio choose.
2020-03-27 09:39:11 +01:00
Mike Brady
83c0405d03
Add automatic bit depth and speed selection for alsa devices. Set rate and format to "auto" by default. Always look for the greatest bit depth, but the lowest multiple of 44,100.
...
Improve support for big-endian CPUs by adding support for explicit -endian formats, i.e. S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE.
For the "disable_standby_mode" setting, change "while_active" to "auto".
2019-05-07 10:19:04 +01:00
Mike Brady
89340f20c9
3.3 release candidate 0
2019-03-04 12:38:20 +00:00
Mike Brady
552218ab6e
Clean up audio help texts, add in the volume_range_hw_priority setting.
2019-02-05 11:26:54 +00:00
Mike Brady
aa5698fce2
Remove the preflight call - don't seem to need it.
2019-01-27 15:53:36 +00:00
Mike Brady
caf06c5aba
Add the idea of a preflight message to tell the backend that frames will be coming...
2019-01-07 17:34:50 +00:00
Mike Brady
80f15e1f57
clang format
2019-01-04 17:26:55 +00:00
Mike Brady
5e38fcd50f
Add default values for the interpolation threshold
2019-01-04 17:06:21 +00:00
Mike Brady
e0a4e5cde8
Format tidy-up
2018-10-21 17:10:23 +01:00
Mike Brady
2f73f1ac66
Revert previous change which was to unreference a stream prior to disconnection -- not needed.
2018-09-21 18:22:23 +01:00
Mike Brady
ae97af4ad1
Revert previous change which was to unreference a stream prior to disconnection -- not needed.
2018-09-21 18:18:32 +01:00
Mike Brady
0dce052535
Remove debug messages from pa start and pa stop
2018-09-21 17:45:13 +01:00
Mike Brady
c57d25652e
Unreference the pa stream when finished with it, so that it the sink can go idle.
2018-09-21 17:41:50 +01:00
Mike Brady
52af6c6c9a
Unreference the pa stream when finished with it, so that it the sink can go idle.
2018-09-21 17:36:49 +01:00
Maciej Wilczynski
947a0ca291
Add PA sink configuration option
2018-09-15 20:49:11 +02:00
Mike Brady
8cabb16f25
Initial very rough attempt at a jackaudio backend.
2018-08-31 12:39:18 +01:00
Mike Brady
ea20840d6c
Make the play function return a status (ignored for the present). Clean up audio_alsa by removing all the die calls and placing the alsa_mutex calls in pthread cleanup routines.
2018-07-29 13:45:42 +01:00
Mike Brady
8f76c853ed
clean up audio_pa definition of play
2018-05-14 10:01:15 +01:00
Mike Brady
0cd8a2ce90
Remove more causes of warnings at -Wextra levels
2018-03-07 22:05:11 +00:00
Mike Brady
07e46565ca
Eliminate almost all warnings from -Wall
2018-03-07 14:29:14 +00:00
Mike Brady
1637a79dd6
Add tinyhttp code for sending and reading responses. Clean up some dacp routines. Most new and modified rooutines untested.
2017-12-18 18:50:01 +00:00
Mike Brady
8ab46494fa
Make some additions to audio_pa to emit erro messages before it dies
2017-12-06 20:59:36 +00:00
Mike Brady
d46172e2eb
Don't disable PulseAudio autospawn
2017-10-30 10:45:38 +01:00
Mike Brady
48c1d3eb20
Add fixes suggested by using "infer"
2017-09-03 22:46:57 +01:00
Mike Brady
e513e5330c
Tidy up source using clang-format
2017-07-31 11:57:57 +02:00
Mike Brady
b7864b4ecf
Move common audio backend settings like buffer size and offsets to the "general" settings stanza. Improve the resync code a little.
2017-07-21 12:29:03 +02:00
Mike Brady
d428585715
Add code to read audio_backend_silent_lead_in_time settings.
2017-07-06 19:13:10 +01:00
Mike Brady
9ba3ed39a5
Add some settings to the new PulseAudio backend. Limit the silent lead-in time to pipe and stdout backends. Not tested much.
2017-06-30 20:05:48 +01:00
Mike Brady
d5ad994257
Stop generating multiple PA sound applications -- now, just generate one.
2017-06-13 07:58:17 +01:00
Mike Brady
5728820075
Make default buffer 0.35 seconds, turn off some debug code.
2017-05-18 10:35:40 +01:00
Mike Brady
66f13c46f9
Use lock and unlock to improve stability, ahem.
2017-05-17 17:29:18 +01:00
Mike Brady
1bbceea7ab
Cork output if underflow is detected.
2017-05-17 15:07:55 +01:00
Mike Brady
7f02d9f718
Change service name to Shairport Sync
2017-05-17 12:15:15 +01:00
Mike Brady
b3ae05ea60
Initial very rough full-fat pulseaudio backend
2017-05-17 08:49:40 +01:00