610 Commits
Author SHA1 Message Date
Mike Brady 3e4b67e97d Add two new metadata items -- the player's service name, e.g. "Den Speakers" and the name of the current client, if any, e.g. "Joe's iPhone". 2022-11-07 11:33:05 +00:00
Mike Brady 085bf128fe Fix a long-standing bug which didn't close the socket used for the RTSP connection, so potentially exhausting the sockets available. 2022-11-03 15:04:32 +00:00
Mike Brady 3d106c4687 add descriptioon of the new metadata codes. 2022-10-18 12:17:22 +01:00
Mike Brady 04e28ee12b Stop using the flush and data resumption as proxies for pause and resume. Add (true) pause and resume to buffered audio streams. 2022-10-18 12:13:07 +01:00
Mike Brady 1046a076c4 Change how a missing session key is dealt with: instead of dropping the AirPlay connection, simply skip the audio. Hopefully this will be less disruptive for users. 2022-10-16 22:15:26 +01:00
Mike Brady 7004c81a28 Check for the existence of a session key when starting to play AP2, and drop the connection if not. 2022-10-15 13:31:32 +01:00
Mike Brady 7dcad08398 Fix two memory leaks. 2022-10-07 16:17:57 +01:00
Mike Brady 06c69c69f3 When a buffered stream is paused or stopped, try to close the output device immediately. This will succeed if disable_standby mode is off. 2022-10-05 12:41:54 +01:00
Mike Brady ca3e75f988 Updates made in the branch. 2022-10-05 09:46:41 +01:00
Mike Brady f96fa2f793 Only call the volume hook once for each volume event even when the dbus interface is included. 2022-10-03 17:56:18 +01:00
Mike Brady 98744211a7 Disable the timer on the RTSP link. OwnTone doesn't supply regular traffic here. 2022-10-01 15:32:53 +01:00
Mike Brady c269e815e6 Add name of client when we can get it in AP2 2022-09-29 16:39:01 +01:00
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