Commit Graph
278 Commits
Author SHA1 Message Date
Mike Brady 7da3a02ac4 Modify the RTSP write response code to output the entire response in one go. 2018-06-11 20:18:38 +01:00
Mike Brady 86c9d0f6a7 Add a pthread_cancel cleanup routine to put_packet to unlock that rw thread when cancelled. 2018-06-05 19:07:40 +01:00
Mike Brady b5b1a69f91 Use shutdown() before close() and separate out the cancel requests for the timing, control and audio threads, see if we can see anything. 2018-06-03 19:59:54 +01:00
Mike Brady b127e1a769 Monitor and time mutex locks and unlocks, add a diagnostic into the get_buffer loop. 2018-06-01 11:27:47 +01:00
Mike Brady 1df8858f27 Add yet more debugging to the TEARDOWN sequence. 2018-05-30 15:29:58 +01:00
Mike Brady ad1f5b9fa2 Increase debugging temporarily for a TEARDOWN. 2018-05-29 22:13:16 +01:00
Mike Brady aed5ea2681 Treat volume-based muting the same as playback-switch-based muting and disable both by default. Rename the setting to "use_hardware_mute_if_available". Add a debug message for TEARDOWN 2018-05-25 09:43:19 +01:00
Mike Brady 3fbd47ad05 Fix minor warnings from some of the backend modules and make the configure messages a little more helpful. 2018-05-18 15:22:20 +01:00
Mike Brady ba59ea9604 Drop a player_flush request if a read lock can't be acquired on the player thread. 2018-05-18 08:34:30 +01:00
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 Brady 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 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 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 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 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 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 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 Brady 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 Brady 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