Mike Brady
b70dd4633f
Change response to a /feedback message in a Classic AirPlay session to 501 Not Implmemented instead of 200 OK.
2023-10-13 07:52:51 +01:00
Mike Brady and GitHub
3298f42a52
Update RELEASENOTES-DEVELOPMENT.md
2023-10-08 17:49:35 +01:00
Mike Brady
4cd3c1da4b
Return code 200 for a POST of type /feedback, and continue to return 500 for everything else.
2023-10-08 17:43:02 +01:00
Mike Brady
f3e0ddf297
Typo
2023-10-08 17:40:43 +01:00
Mike Brady
6d89e4c4c1
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Online update.
2023-10-06 11:13:42 +01:00
Mike Brady
7aaaf0c96d
Move the PipeWire stanza up in the configuration file.
2023-10-06 11:13:30 +01:00
Mike Brady and GitHub
07c9cc2d64
Update RELEASENOTES-DEVELOPMENT.md
2023-10-06 10:58:24 +01:00
Mike Brady
98679bbb54
Add PipeWire sink target setting. Fix PipeWire node name code, duh, remove code that was double-deallocating settings strings.
2023-10-06 10:51:49 +01:00
Mike Brady
420fe4ca7e
Remove code that was double-deallocating settings strings.
2023-10-06 10:50:30 +01:00
Mike Brady and GitHub
d7b365597a
Update RELEASENOTES-DEVELOPMENT.md
2023-10-05 16:43:09 +01:00
Mike Brady and GitHub
b0a2fe14ec
Update RELEASENOTES-DEVELOPMENT.md
2023-10-05 16:42:34 +01:00
Mike Brady
288e5eb695
Change node_name default to "Shairport Sync", parameterise a few settings.
2023-10-05 16:40:42 +01:00
Mike Brady and GitHub
16dd54e80a
Update RELEASENOTES-DEVELOPMENT.md
2023-10-05 09:50:17 +01:00
Mike Brady
3763b321b8
Add two PipeWire backend ("pw") settings -- application_name (default: "Shairport Sync") and node_name (default: "shairport-sync").
2023-10-05 09:41:21 +01:00
Mike Brady
3db689f9e8
Deallocate settings strings on exit.
2023-10-05 09:39:22 +01:00
Mike Brady and GitHub
d9c7f0aeb1
Update RELEASENOTES-DEVELOPMENT.md
2023-10-02 10:13:01 +01:00
Mike Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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 Brady and GitHub
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