Commit Graph
4772 Commits
Author SHA1 Message Date
Mike Brady 48e2679c38 Update BUILDFORAP2.md 2021-12-09 15:16:54 +00:00
Mike Brady 6d899621dd Update RELEASENOTES-DEVELOPMENT.md 2021-12-09 14:36:58 +00:00
Mike Brady 3ab16b5d0c Merge branch 'mptre-master' into development
Thanks to Anton Lindqvist (https://github.com/mptre) for this PR.
2021-12-09 14:17:42 +00:00
Mike Brady 5aa3324d3d Merge "openbsd corrections #1357" after resolving one conflict. 2021-12-09 14:16:37 +00:00
Mike Brady 03b7c830ed Update AIRPLAY2.md 2021-12-08 22:37:09 +00:00
Mike Brady bea691e78e Merge pull request #1356 from tecdude/patch-1
Update AIRPLAY2.md
2021-12-08 22:32:40 +00:00
Mike Brady 3626acba85 Update RELEASENOTES-DEVELOPMENT.md 2021-12-08 17:33:52 +00:00
Mike Brady 159f9a980d Update RELEASENOTES-DEVELOPMENT.md 2021-12-08 17:29:05 +00:00
Mike Brady 24a5bbbeda Merge branch 'development' of git.aillwee.com:base/shairport-sync into development 2021-12-08 12:05:52 +00:00
Mike Brady 429c5dc002 Add update to ejurgensen's pair_ap library. Thanks as always. 2021-12-08 11:59:09 +00:00
Mike Brady 8256324a35 Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
Copy in new developments.
2021-12-08 10:30:12 +00:00
Mike Brady 5d5595491d Merge pull request #1367 from Lorilandly/development
fixed dependency on the `xxd` tool.

Thanks. I don't know how I missed that!
2021-12-08 09:56:34 +00:00
Lori Li 9f81ad643e fixed dependency 2021-12-08 11:27:00 +09:00
Mike Brady 9d18742e7b Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
Memory leak fixes, move play lock to the first setup, hold the timing peer list until a full teardown.
2021-12-07 21:36:56 +00:00
Mike Brady b938064bae Add client and server ip metadata for AP2. Remove timing peer list and DACP code only for a full AP2 teardown. 2021-12-07 21:34:53 +00:00
Mike Brady 31a34ae684 Fix another memory leak. 2021-12-07 20:34:23 +00:00
Mike Brady d9b6a28307 Add a bogus exit for AP1 to make it easier to evaluate valgrind results. 2021-12-07 20:29:00 +00:00
Mike Brady 9eea4e4c0c Another memory leak. 2021-12-07 20:05:37 +00:00
Mike Brady 7258a45bea Fix a few more memory leaks 2021-12-07 19:58:00 +00:00
Mike Brady 765a489db4 Possibly fix a few memory leaks. Add a bogus exit to allow SPS to quit at the end of a play session, to make it easier to use valgrind. 2021-12-07 19:37:01 +00:00
Mike Brady b900be906b Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
A few small changes.
2021-12-07 17:50:08 +00:00
Mike Brady b386c22a0c Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
Merge.
2021-12-07 17:49:04 +00:00
Mike Brady 107bc71e56 Stop checking that the timing peers are within the same subnet. 2021-12-07 17:47:45 +00:00
Mike Brady 6a58eae314 Quieten a few debug messasges. 2021-12-07 17:37:16 +00:00
Mike Brady fd3d461a16 stop removing the play lock at the end of a play session. That's the job of the rtsp thread. 2021-12-07 15:09:05 +00:00
Mike Brady dbebdca84d quieten a debug message 2021-12-07 15:08:16 +00:00
Mike Brady 3de7e9a5c5 Look for at least 0.1 seconds of leadtime, ensure a master clock is at least 0.275 seconds old before use, quieten a few debug messages. 2021-12-07 12:09:49 +00:00
Mike Brady 273708fdfb Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
Just checking.
2021-12-07 09:59:14 +00:00
Mike Brady 70821f8127 Clang Format 2021-12-06 18:45:25 +00:00
Mike Brady 1e21368213 Add txtAirPlay data to info response. Don't pause long RTSP message reception. 2021-12-06 18:16:57 +00:00
Mike Brady 3b9f2e1c53 Don't ask for cover art if not asking for metadata too. Duh. 2021-12-06 18:14:23 +00:00
Mike Brady 0b21373c0e Skip some invalid AAC packets, don't decode outdated frames, wait for timing information to be valid. 2021-12-06 18:13:20 +00:00
Mike Brady be4807fff2 Wait for that mutex for longer. (Don't know why yet...) 2021-12-06 18:09:29 +00:00
Mike Brady fa20d88c1c Remember to add some exta fields later... 2021-12-06 18:08:35 +00:00
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