Commit Graph
498 Commits
Author SHA1 Message Date
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