Mike Brady
a980192a00
Fix a silly classic AirPlay build issue.
2022-09-22 17:33:23 +01:00
Mike Brady
a6e02449fb
Increase the RTSP idle timeout to ten seconds, and confine its operation to realtime and classic AirPlay only.:
2022-09-22 16:25:57 +01:00
Mike Brady
4951b8a7d4
It seems the RTSP link can go idle occasionally, so don't do anything drastic until it comes back, i.e. don't kill everything when it goes idle.
2022-09-16 20:00:17 +01:00
Mike Brady
8dfebea222
Make the RTSP idle checker a bit more resilient -- wait for the full timeout even if interrupted. Also signal to NQPTP when to stop listening and when to start w.r.t. idle and when a session stop.
2022-09-15 14:09:33 +01:00
Mike Brady
114c39d8a9
Add a few debug messages to watch the RTSP connection.
2022-09-13 09:34:42 +01: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
05dfcdfd6a
Merge other enhancements.
2022-08-09 14:18:53 +01:00
Mike Brady
b81fb39a80
Add a new D-Bus method called "DropSession" to forcibly terminate the current play session.
2022-08-07 10:02:56 +01:00
Mike Brady
f9aa7fb811
Simplifiy locking and unlocking the playing_conn and add dbus connection to changing the volume.
2022-08-06 19:19:08 +01:00
Mike Brady
7bc480b3fc
Ensure player's IP is first in the perer list. Will be duplicated but that's okay.
2022-08-03 12:53:06 +01:00
Mike Brady
f218a4d45e
Improve a debug message.
2022-07-09 09:55:54 +01:00
Mike Brady
d36decbd36
Rename and reorder some of the pairing definitions and structures.
2022-06-25 14:15:56 +01:00
Mike Brady
f551274a2e
Set the initial volume to 0.0 (full volume) if ignore_volume_control is selected. Add some code to explore remote_control. Still not even close to working.
2022-06-25 10:47:18 +01:00
Mike Brady
fb151915ae
Tidy up write encrypted. Explore some of the remote_control connections. Not working.
2022-06-23 09:40:30 +01:00
Mike Brady
82849e0dfe
Return 501 instead of 404 for unimplemented GETs in AP2 mode.
2022-06-20 08:46:16 +01:00
Mike Brady
6c23d14cf3
Fix an odd bug that could arise while exiting the program, causing it to crash on exit.
2022-05-23 17:12:21 +01:00
Mike Brady
aa9f9423c4
Quieten a debug message.
2022-05-17 17:32:24 +01:00
Mike Brady
3b4a21f002
Quieten some debug messages. Remove some redundant code.
2022-05-17 15:49:01 +01:00
Mike Brady
82ad05e828
reset anchor information when setanchorinfo stops play -- clock information is no longer valid. Store time of initial connection (this is when we can be sure the PTP clock has started).
2022-05-14 19:00:46 +10:00
Mike Brady
f34a69fa32
Add two new metadata 'ssnc' codes: 'conn' for AirPlay 2 connect, sent before killing any current play session, and 'disc' for AirPlay 2 disconnect. Might be useful for amplifier switching, etc.
2022-03-22 18:53:01 +11:00
Mike Brady
e87218893b
Allow for a longer group ID string. Fixes an issue with playing from a HomePod mini on homeOS 15.4.
2022-03-15 12:31:37 +11:00
Mike Brady
a382ac6672
Clang Format
2022-03-14 11:56:43 +11:00
Mike Brady
3d96f79ddc
Quieten a few debug messages.
2022-03-11 17:03:49 +11:00
Mike Brady
dac2ad7616
Change debugging of RTSP messages to quieten POST as well as OPTION logging.
2022-03-10 17:44:16 +11:00
Mike Brady
e635d7b3fb
Die if the NQPTP service is absent when trying to start a play session.
2022-02-28 18:06:49 +11:00
Mike Brady
0aea810735
experiment with different startup regimes
2022-02-28 10:59:41 +11:00
Mike Brady
322f07720a
Require NQPTP to be running and create the SHM interface at startup.
2022-02-27 13:00:03 +11:00
Mike Brady
c0feef51f8
Always try to open the shm interface when needed -- it should be already open, but ya never know.
2022-02-26 08:28:49 +00:00
Mike Brady
4848608dd5
Don't try to decode commands at debug level 2 -- leave it to level 3.
2022-02-12 13:39:19 +00:00
Mike Brady
c37f511319
Check certain 64-bit and 32-bit conversions.
2022-01-30 16:51:01 +00:00
Mike Brady
73eec0a1be
Add some code to investigate possible unclean teardowns in AP2 modes. Also add code which might obviate the problem!
2022-01-02 17:37:23 +00:00
Mike Brady
9c2f9f7ada
Do a proper TEARDOWN when an AP1 RTSP thread is cancelled. In particular, kill any player thread that may be running.
2022-01-02 16:58:09 +00:00
Mike Brady
59d92db39f
Improve a few debug messages.
2022-01-01 19:01:20 +00:00
Mike Brady
c849c1fcf0
clang-format
2022-01-01 12:13:43 +00:00
Mike Brady
04aba03b4f
Stop storing the timing peer list. Clean up generation of device's timing addresses (and fix a bug). Use unique SMI interface for access to NQPTP.
2021-12-30 11:03:34 +00:00
Mike Brady
040bcd4f10
Clang format
2021-12-27 12:37:49 +00:00
Mike Brady
9f496c2c8c
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Small changes.
2021-12-27 12:35:54 +00:00
Mike Brady
42e508b449
Add some conditional compilation statements to avoid a few warnings.
2021-12-27 12:33:14 +00:00
Mike Brady
65773c5af4
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
Some pull requersts and a documentation update.
2021-12-27 12:19:08 +00:00
Mike Brady
966d68bdec
Begin to get SPS to give a unique shm interface name to nqptp. Also clang format
2021-12-27 12:19:01 +00:00
Cody Cutrer
82c7f4eff0
extract several pieces of client metadata for AP2
2021-12-26 12:13:42 -07:00
Mike Brady
6d14698391
Send an empty timing list when a player is acquired.
2021-12-21 15:02:43 +00:00
Mike Brady
84dd2dc41f
Begin to try to figure out how to respond to remote control connections.
2021-12-12 13:28:10 +00:00
Mike Brady
a7a0208360
Only include code to modify the RTSP buffer length if metadata support is included in the configuration.
2021-12-10 09:15:30 +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
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