Commit Graph
5780 Commits
Author SHA1 Message Date
Mike Brady 3db689f9e8 Deallocate settings strings on exit. 2023-10-05 09:39:22 +01:00
Mike BradyandGitHub d9c7f0aeb1 Update RELEASENOTES-DEVELOPMENT.md 2023-10-02 10:13:01 +01:00
Mike BradyandGitHub 57382cdecb Update RELEASENOTES-DEVELOPMENT.md 2023-10-02 10:12:31 +01:00
Mike Brady dc197ae711 Send silence when no audio is coming through from Shairport Sync. This eliminates (?) xrun errors. Clean up a few imprefections. 2023-10-02 10:06:55 +01:00
Mike Brady 29a5589be6 Quieten a debug message. 2023-10-02 10:05:21 +01:00
Mike BradyandGitHub 4447b25a05 Update RELEASENOTES-DEVELOPMENT.md 2023-10-01 09:37:07 +01:00
Mike Brady bde2bcc8b4 Complete replacement of the PipeWire backend with a new implementation with full synchrnoisation. Works well, but still preliminary. 2023-10-01 09:30:29 +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 27e4ba09a1 Replace the pipewire backend completely. Play writes to a buffer. The on_process() function reads from the buffer and updates timing information for the delay() function. Barebones -- can't set the app name or the volume. Assumes no further delays and no buffers when on_process is called. But it works! 2023-09-30 15:45:41 +01:00
Mike Brady 786481d855 mutex lock was protecting the wrong variable, duh. 2023-09-30 15:41:40 +01:00
Mike Brady ccddc37c11 Fix potential bug if the timing data is inconsistent for 10 tries. 2023-09-30 15:40:40 +01:00
Mike Brady afaf94b735 Initial tone-generator based pipewire backend compiling and apparently working, valgrind is happy too. 2023-09-29 16:32:12 +01:00
Mike BradyandGitHub 5916d2397b Update RELEASENOTES-DEVELOPMENT.md 2023-09-29 09:48:32 +01:00
Mike Brady c36d322a91 Don't mute if the volume control is at minimum (-144.0) and ignore_volume_control is seelcted. 2023-09-29 09:41:07 +01:00
Mike Brady a1dd3ad33e Actually _do_ change the latency to 200000 in the PipeWire backend as previously promied, duh. 2023-09-27 12:38:02 +01:00
Mike BradyandGitHub 7fe4861874 Update RELEASENOTES-DEVELOPMENT.md 2023-09-27 10:53:07 +01:00
Mike Brady 04e3f89130 Very very rarely, the avahi client becomes disconnected.
This usually means there are problems in the system as a whole rahter than with Shairport Sync.

However, Shairport Sync was not cleaning up properly before deleting the now-disconnected avahi client and
creating a new one in an attempt to reconnect. That caused Shairport Sync to crash even if the new avahi client
was created successfully.

So this commit has code to delete the avahi group and broswer callback before deleting the disconnected avahi client.
2023-09-27 10:36:28 +01:00
Mike BradyandGitHub be4887713f Update RELEASENOTES-DEVELOPMENT.md 2023-09-25 16:23:34 +01:00
Mike Brady c046746832 Make the pipewire latency 200000 (uS?) instead of 20000. 2023-09-25 16:19:32 +01:00
Mike BradyandGitHub 6bba7e0e44 Update RELEASENOTES-DEVELOPMENT.md 2023-09-25 09:42:23 +01:00
Mike Brady c4975d5c3b Add missing arguments to some debug messages. They could potentially cause crashes just when you need them to work properly, sigh! 2023-09-25 09:37:47 +01:00
Mike BradyandGitHub d236cfc524 Update RELEASENOTES-DEVELOPMENT.md 2023-09-24 17:35:15 +01:00
Mike Brady a3f12d685a When a connection termiates abruptly while is it the principal_conn, make sure it sets the principal_conn
to NULL and cleans up the bonjour flags, if appropriate.

Simplify the TEARDOWN handlers and the thress teardown functions by incporporating
the above code in the teardown_phase_two (for AP2) and teardown (fpr AP1) functions.

It means that closing a connection will block on the principal_conn_lock, so if
you have the principal_conn_lock, closing will not complete until you release it.

Maybe we need a principal_conn_acquisition_lock for that...
2023-09-24 17:23:04 +01:00
Mike BradyandGitHub b3986ed6e5 Update RELEASENOTES-DEVELOPMENT.md 2023-09-22 15:08:47 +01:00
Mike Brady 91c0803d04 Quieten a debug message. 2023-09-21 17:28:03 +01:00
Mike Brady 5abf393f7e clang format 2023-09-21 16:45:22 +01:00
Mike Brady 2e023fb13b Remove a few debug messages. 2023-09-21 16:41:48 +01:00
Mike Brady 2987478f4c Set and reset bonjour flags correctly when it's a Classic Airplay session. Reintroduce a 1 second delay for the prempted session to go away. 2023-09-21 16:36:21 +01:00
Mike Brady 66163c1a71 Remove redundant (and now faulty) check to see if the player is also principal conn. 2023-09-21 16:34:40 +01:00
Mike Brady eed22e4154 update to correspond with the move of principal_conn_lock to a pthread_rwlock. 2023-09-21 16:33:19 +01:00
Mike Brady 152ddbb87d Change principal_conn_lock from a regular mutex to a read-write mutex, so it can be used to check and hold the current principal_conn unless it's being altered in get_play_lock or a release_play_lock.
Only allow access to the config.airplay_statusflags, build_bonjour_strings(NULL), mdns_update(NULL, secondary_txt_records) when read_lock is acquired on the principal_conn_lock.
Only allow changes to config.airplay_statusflags and only allow access to mdns_update if you are the principal conn.

The bonjour status flags and the info response plist calculations are still a dirty rotten hack.
2023-09-21 16:04:23 +01:00
Mike Brady 60cee967dc Add a pthread_cleanup compatible function to release a pthread_rwlock. 2023-09-21 15:50:43 +01:00
Mike Brady 847ad7fb9c move the declaration of principal_conn_lock from player.h to rtsp.h where it should be. 2023-09-21 15:49:25 +01:00
Mike Brady f5475924dc Fix a benign warning from Clang 16 on FreeBSD 2023-09-20 11:46:38 +01:00
Mike Brady b4a2e5da36 Fix warning picked up on FreeBSD15 2023-09-20 11:32:26 +01:00
Mike Brady afe93a64d0 Update workflows. 2023-09-19 13:34:56 +01:00
Mike BradyandGitHub 76c8a958c5 Update check_classic_systemd_full.yml 2023-09-19 12:47:23 +01:00
Mike BradyandGitHub 64ac1be613 Update check_ap2_systemd_full.yml 2023-09-19 12:22:55 +01:00
Mike BradyandGitHub c8d186db3e Update RELEASENOTES-DEVELOPMENT.md 2023-09-19 12:06:19 +01:00
Mike Brady 20a45def17 Merge branch 'development' of github.com:mikebrady/shairport-sync into development
online updates
2023-09-19 12:00:58 +01:00
Mike Brady 2edc6a04c3 bump version number 2023-09-19 12:00:43 +01:00
Mike BradyandGitHub 3474941dd8 Update check_ap2_systemd_full_build_folder.yml 2023-09-19 11:40:09 +01:00
Mike BradyandGitHub d602009dd2 Update RELEASENOTES-DEVELOPMENT.md 2023-09-19 11:35:22 +01:00
Mike Brady 2fb81ca9f7 Set debug verbosity to 2 when the client closes the connection. 2023-09-19 11:28:45 +01:00
Mike Brady 465c5a3ee2 Tidy up some code and add diagnostics to tackle issue #1723. 2023-09-18 19:51:36 +01:00
Mike BradyandGitHub 53d922e4d4 Update RELEASENOTES-DEVELOPMENT.md 2023-09-17 15:35:02 +01:00
Mike Brady e6a2a42961 update/correct configure.ac version info 2023-09-17 15:22:15 +01:00
Mike Brady 2d24665983 Fix a bug that prevented Shairport Sync being added to Home. 2023-09-17 14:30:02 +01:00
Mike Brady 76992ac9ee Updates to the Issues template. 2023-09-16 18:04:58 +01:00