Mike Brady
41f55ac1cb
Stop clearing the timing peer list and stop removing the anchor clock info.
2021-12-06 18:03:42 +00:00
Mike Brady
829e1adafe
Merge pull request #1362 from mptre/mutex
...
Avoid a recursive mutex acquisition in the `sndio` backend.
2021-12-06 15:48:03 +00:00
Anton Lindqvist
57af5f3c10
avoid recursive mutex acquisition in sndio backend
...
Ending a RTSP session while running on OpenBSD using sndio backend causes the
following crash:
#0 thrkill ()
#1 0x000005208224403e in _libc_abort
#2 0x00000520821b77be in _rthread_mutex_trylock
#3 _rthread_mutex_timedlock
#4 0x0000051e0d54e2c0 in stop ()
#5 0x0000051e0d544e85 in player_thread_cleanup_handler
#6 0x0000052082243126 in _libc_pthread_exit
#7 0x000005209a158700 in sigthr_handler
#8 <signal handler called>
#9 _thread_sys_poll ()
#10 0x000005208223533e in _libc_poll_cancel
#11 0x00000520df54c9a0 in sio_psleep
#12 0x00000520df54cc1f in sio_write
#13 0x0000051e0d54e27a in play
#14 0x0000051e0d547fc0 in player_thread_func
#15 0x000005209a158cc1 in _rthread_start
#16 0x000005208223565a in __tfork_thread
The player thread is blocking inside sio_write() -> poll(2) while the thread is
being terminated. The stop routine tied to the same backend is invoked through
player_thread_cleanup_handler() which tries to acquire the mutex which it
already acquired before invoking sio_write(). Avoiding blocking writes would
require switching to async I/O which is quite an undertaking.
The fact that there's only one `struct sio_hdl *' instance in the compilation
unit sort of implies there can only be one player thread at a time. Therefore
fix the crash by only trying to acquire the mutex and continue as usual if it's
already acquired.
2021-12-05 09:08:01 +01:00
Anton Lindqvist
489a77633b
add missing includes on openbsd
2021-12-05 09:00:23 +01:00
Anton Lindqvist
3b91065c2a
do not pass null to printf
...
OpenBSD issues a warning using syslog whenever NULL is passed as a variadic
argument to the printf-like family of functions.
2021-12-05 08:53:08 +01:00
Anton Lindqvist
7693b4ae1b
configure: openbsd is supported
2021-12-05 08:52:22 +01:00
Anton Lindqvist
5aeb4ab9ed
configure: fix handling of non linux operating systems
...
The OS whitelist conditional is malformed due to missing test(1) commands
causing the following error to be emitted during configure while using something
other than Linux:
../configure[3340]: xopenbsd: not found
Instead, favor a switch statement which makes the line a bit shorter as well.
Also, the AC_MSG_ERROR argument must be wrapped in brackets due to presence of a
comma. Otherwise, the tail will be interpreted as an additional argument.
2021-12-05 08:52:21 +01:00
Mike Brady
231d5242d7
clang format only
2021-12-02 11:19:52 +00:00
Mike Brady
d32544d904
Set the timing peer list as soon as a SETPEERS message is received -- don't wait until play is about to begin. Not sure if it works universally yet.
2021-12-02 11:17:59 +00:00
Mike Brady
60f830bc75
Tidy up the statistics printout table and stop outputting (non existent) nominal fps for AP2 Realtime Streams.
2021-12-02 11:16:00 +00:00
Mike Brady
b3526c5472
Use PKG_CHECK_MODULES to find libavcodec, to make it work with Fedora 35 (?)
2021-12-01 17:58:22 +00:00
tecdude
dadeb718a3
Update AIRPLAY2.md
2021-12-01 17:16:15 +00:00
Mike Brady
7b8e293f8b
Change behaviour after an unrecoverable error -- if not handled, exit Shairport Sync.
2021-12-01 09:01:31 +00:00
Mike Brady
e3faba141c
log statsistics headers whenever verbosity goes on or off or whenever statistics are requested
2021-11-28 21:51:26 +00:00
Mike Brady
6c43a362aa
Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
2021-11-28 16:13:32 +00:00
Mike Brady
56bef8e7dd
Use CLOCK_MONOLITHIC_RAW to avoid NTP effects, report raw and corrected timing from audio_alsa. Clean up statistics. Stop watchdog timing out AP2 sessions. CLean up some debug messages.
2021-11-28 16:08:48 +00:00
Mike Brady
dc5b8f1a11
Clang format
2021-11-26 18:02:23 +00:00
Mike Brady
7890188dcf
Quieten some debug messages.
2021-11-26 18:01:36 +00:00
Mike Brady
5cb8d51c6f
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Merge a pull request and documentation update.
2021-11-26 17:49:35 +00:00
Mike Brady
b3ceda2357
Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
...
Updated documentation.
2021-11-26 17:43:48 +00:00
Mike Brady
a05db62100
Update RELEASENOTES-DEVELOPMENT.md
2021-11-26 17:41:01 +00:00
Mike Brady
a9f873b861
Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
...
update configure.ac
2021-11-26 17:28:38 +00:00
Mike Brady
f70ab69abb
Merge pull request #1346 from fwcd/libplist-configure-fix
...
Try finding libplist as libplist-2.0 on Linux too.
2021-11-26 17:28:20 +00:00
Mike Brady
b9d3abfa24
Add some debug messages to help check the output rate calculations.
2021-11-26 15:18:27 +00:00
Mike Brady
136071a621
change stats to report non-zero if output has just opened or if there has been any discontinuity in play from previous time.
2021-11-26 15:17:27 +00:00
Mike Brady
87d887f412
Remove the commas in the statistics logs -- easier to get into a spreadsheet.
2021-11-25 18:13:56 +00:00
Mike Brady
ce39f00a0b
Don't overwrite service files if they already exist.
2021-11-25 17:42:48 +00:00
fwcd
9065ebc6f0
Try finding libplist as libplist-2.0 on Linux too
2021-11-24 16:22:23 +01:00
Mike Brady
14bfba2724
Add code to check divisions and mods for a potrntial divide by zero problem. MAy cause SPS to terminate but leave a log message.
2021-11-21 21:47:32 +00:00
Mike Brady
881a5ca25e
Don't display output FPS, as it's not clear how accurate it is...
2021-11-20 15:11:57 +00:00
Mike Brady
1797b4164b
Check for the stats function before allowing expanded stats info.
2021-11-20 14:18:13 +00: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
Mike Brady
5f8e6e3989
attempt to increase the precision of the FPS timing
2021-11-20 12:14:23 +00:00
Mike Brady
c0a3dacf30
Working to check for divide / mod by 0's
2021-11-17 10:35:21 +00:00
Mike Brady
4729b3ea71
Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
...
Merge independent changes.
2021-11-14 15:13:54 +00:00
Mike Brady
c31022016b
Update RELEASENOTES-DEVELOPMENT.md
2021-11-14 15:03:19 +00:00
Mike Brady
1032cad684
Update to the latest version of ejurgensen's pair_ap library. With thanks.
2021-11-14 14:13:31 +00:00
Mike Brady
fb1b2e9dff
Update RELEASENOTES-DEVELOPMENT.md
2021-11-14 11:43:16 +00:00
Mike Brady
3f6f09328d
Fix a bug by ensuring certain ap2 variables are initialised by the player thread.
2021-11-14 11:18:39 +00:00
Mike Brady
04240708a9
Try using the monotonic clock for checking output rate...
2021-11-08 10:14:42 +00:00
Mike Brady
99c6638573
Ensure the frame rate calculator allows for silent frames added to disable standby. Clean up outmoded and unused stuff in audio_alsa.c. More to do.
2021-11-06 18:32:26 +00:00
Mike Brady
98c45cbb1b
Fix a bug that was causing a compiler warniong about a potentially uninitialised variable.
2021-11-02 09:15:04 +00:00
Mike Brady
b2f38e0f0d
Merge pull request #1326 from a-x-/patch-2
...
typo(MQTT): Please not -> Please note
2021-11-01 08:46:21 +00:00
Alexander Mextner
f4cad1d1ba
typo(MQTT): Please not -> Please note
2021-11-01 09:18:57 +03:00
Mike Brady
6b9b45c887
Update RELEASENOTES-DEVELOPMENT.md
2021-10-24 13:25:35 +01:00
Mike Brady
f4115c45a2
Merge pull request #1314 from ffontaine/development
...
configure.ac: fix build with automake 1.16.5
Many thanks!
2021-10-24 13:10:23 +01:00
Mike Brady
647ff1cd14
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Forgot some online documentation updates.
2021-10-24 11:37:10 +01:00
Mike Brady
311a5c884c
slight tidying up
2021-10-24 11:36:40 +01:00
Mike Brady
1452bb687f
Update BUILDFORAP2.md
2021-10-24 11:28:46 +01:00
Mike Brady
4ced2cf1fd
Update RELEASENOTES-DEVELOPMENT.md
2021-10-22 19:52:36 +01:00