Commit Graph
476 Commits
Author SHA1 Message Date
Mike Brady 9d43064bfd If the player thread is locked, don't block player_put_packet. Instead, discard the packet. 2018-05-17 16:15:52 +01:00
Mike Brady 5fdcaf4cb0 Move to using pthread_cancel in place of pthread_kill -- due to a problem in CYGWIN, but the move makes the code simpler and more rugged. Tidy up the code a bit and remove a clobbering warning. Fix a bug casung excessive resend requests. 2018-05-17 10:59:16 +01:00
Mike Brady c2849b71ee Allow a great number of buffers and parameterise the fixed latency limits. 2018-05-15 09:12:17 +01:00
Mike Brady 49a76e6451 Fix a misue of rwlock and unlock -- they must be made on the same thread. 2018-05-13 14:41:59 +01:00
Mike Brady 8845c60397 Add a read-write mutex to protect a player thread when it's being created or deleted; make external accessors get a read lock. 2018-05-12 15:36:56 +01:00
Mike BradyandGitHub 92206b2c14 Update configure.ac 2018-05-10 09:24:08 +01:00
Mike Brady 31d3526713 Make the UDP sockets blocking rather than non-blocking, but set a two millisecond limit on the sendto calls. 2018-05-09 09:31:42 +01:00
Mike Brady 0e207dc5ab Merge resolution to issue 694 (buzz during track change) into master branch 2018-05-08 21:14:51 +01:00
Mike Brady 1ddaa14224 Merge resolution to issue 694 (buzz during track change) into development branch 2018-05-08 20:26:26 +01:00
Mike Brady 9ebea33bb4 Update development version of TROUBLESHOOTING to match that of 3.2RC6. 2018-05-05 12:08:45 +01:00
Mike Brady 548d5da997 Restore the old way of determining latency for clients identifying with AirPlay user agent strings having a version of 353 (iOS 11.1.2) or earlier. 2018-05-05 11:49:48 +01:00
Mike Brady bb64c644a6 If it's an AirPlay user agent up to and including version 363 (iOS 11.1.2) use the old offset calculation by adding 11,205 frames to the offset. 2018-05-04 18:27:39 +01:00
Mike Brady b4b68ae336 Make the options for the dbus and mpris interfaces --with-dbus-interface and --with-mpris-interface rather than --with-dbus and --with-mpris. 2018-04-25 18:05:35 +01:00
Mike Brady 617deead73 Make the options for the dbus and mpris interfaces --with-dbus-interface and --with-mpris-interface rather than --with-dbus and --with-mpris. 2018-04-25 18:05:19 +01:00
Mike Brady fa6e2b3b9a Make the options for the dbus and mpris interfaces --with-dbus-interface and --with-mpris-interface rather than --with-dbus and --with-mpris. 2018-04-25 17:43:10 +01:00
Mike Brady 09bb60a338 Make the options for the dbus and mpris interfaces --with-dbus-interface and --with-mpris-interface rather than --with-dbus and --with-mpris. 2018-04-25 17:42:51 +01:00
Mike Brady 9f60fedfa3 Make resend error backoff work better and set it to 0.5 seconds. Quieten some routine debug messages. 2018-04-23 13:10:26 +01:00
Mike Brady 82459ac4b1 Merge back some of the changes made to the master release candidates. Matches 3.2RC4. 2018-04-19 13:49:07 +01:00
Mike Brady 2fc9ca74ba Send resend requests via the control channel rather than the audio channel. This makes it compatilbe iwht AirAudio and conformant with the unofficial guide to the airplay protocol. Brown bag time. 2018-04-19 10:17:08 +01:00
Mike Brady a7fdb46042 Make resend requests come from tyhe control socket rather than the audio socket. This makes it work with AirAudio and according to the unofficial standard. 2018-04-18 20:29:49 +01:00
Mike Brady 146796dac6 incorporate 3.2d30 stuff -- lots of important bug fixes -- and include the extra diagnostic information from RC2 2018-04-14 14:06:46 +01:00
Mike Brady a0964e2537 Fix serious and long-standing bugs in the control, audio and timing threads that could be responsible for low resilience on noisy and unrealiable networks. Add ability to simiulate UDP receive and send failures on timing, control and audio ports. Significantly improve resend requesting and handling. 2018-04-14 13:02:26 +01:00
Mike Brady 269dffacb4 Add the ability to pseudo-randomly drop audio packets to simiulate a noisy network. 2018-04-13 09:58:31 +01:00
Mike Brady 70d51b6722 RC2 has extra debug messages and handles situation where there is no DACP-ID or Active-Remote information 2018-04-11 10:41:44 +01:00
Mike Brady 453c51fc08 Allow sps to deal with duplicate RTSP messages like RECORD and SETUP. Add some diagnostics to the player. 2018-04-10 17:36:13 +01:00
Mike Brady a9f5ce731b Tidying up development branch by quieting a few debug messages 2018-04-08 16:13:02 +01:00
Mike Brady c937b50c52 Match it up with 3.2RC1 2018-04-07 19:43:29 +01:00
Mike Brady bd103a9bcd Merge branch 'development'
Add in fixes for mbed tls autotools error
2018-04-07 17:57:16 +01:00
Mike Brady fe2021670a Clean up mbed tls error message. 2018-04-07 17:56:53 +01:00
Mike Brady 52b491704d Quiten some debug messages and some compiler warnings 2018-04-07 17:40:55 +01:00
Mike Brady 31b4dcc54a Release candidate 1 for 3.2 2018-04-07 16:43:05 +01:00
Mike Brady 1881beb542 Various updates to the DACP scanner. 2018-04-07 15:27:56 +01:00
Mike Brady f9845d017b Fix problem when reconnecting to an itunes play session. 2018-04-03 22:32:43 +01:00
Mike Brady d34e707e0c Modify latency detection to use the second word of a sync packet to decide whether to add an extra delay or not. Use all sync packets, not just one with the exception flag. Use 1024 buffers -- a bit profligate, but hey. 2018-04-02 16:43:27 +01:00
Mike Brady a4c99de7ba Make scanning for DACP port part of the dacp handler. Only emit 'clip' and 'svip' for a play connection, suppress 'pfls' until 'pffr' has been emitted 2018-03-31 17:35:30 +01:00
Mike Brady f306537a8f Add some more D-Bus facilities. Countermand faulty D-Bus commands. 2018-03-24 17:50:37 +00:00
Mike Brady 89d4712e69 Add a few new elements ot the native dbus interface 2018-03-23 21:40:05 +00:00
Mike Brady c0b1dc542a Rationalise all the native dbus intefaces files down to just three. 2018-03-20 16:28:06 +00:00
Mike Brady c47e93944b Add most of a basic remote control dbus interface 2018-03-19 17:31:31 +00:00
Mike Brady 720a86630a Begin to add a basic remote control interface corresponding to the set of commands AirPlay devices seem to obey. 2018-03-17 19:43:10 +00:00
Mike BradyandGitHub b89e7531d1 Update configure.ac 2018-03-12 22:02:11 +00:00
Mike Brady 9d9b0a1824 Add a Shairport Sync Diagnostics DBus Onject, only part working 2018-03-10 17:01:42 +00:00
Mike BradyandGitHub 63405213bd Update configure.ac 2018-02-18 17:58:48 +00:00
Mike Brady 27e6124c36 Check for missing packets only once, approximately 250 ms after they should have arrived. They may take a good half second to be resent. 2018-02-13 17:20:52 +00:00
Mike Brady 9264f3a8e9 Include the -pthread flag -- including the pthread library with -lpthread isn't always enough 2018-02-13 17:17:37 +00:00
Mike Brady 283e4930e8 Add support for OpenBSD compilation 2018-02-09 21:11:39 +00:00
Mike Brady 1c045979bb Add support for OpenBSD compilation 2018-02-09 20:38:55 +00:00
Mike Brady 4f9ac47a73 Add timing to debug messages, make timing sender wait interruptable every 20 ms, thus making TEARDOWN faster. Remove 100 mS delay fudge at the close of a player thread. Probably don't need it. Also note prior move of player_play to RECORD from SETUP, I think 2018-02-03 21:02:48 +00:00
Mike Brady 6f0991f070 watch for an error or unexpected channel closure, try five times, waiting 20 ms in between tries before giving up and issuing a debug message if problems. 2018-01-31 19:57:43 +00:00
Mike BradyandGitHub 1bf379c6b8 Update configure.ac
Add a volume_control_profile setting
2018-01-29 23:07:28 +00:00