Commit Graph
162 Commits
Author SHA1 Message Date
Mike Brady 21e1e12c76 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:25:52 +01:00
Mike Brady 3823f337d0 incorporate 3.2d30 stuff -- lots of important bug fixes -- and include the extra diagnostic information from RC2 2018-04-14 14:06:09 +01:00
Mike Brady 49d5486df6 Keep timestamp info from the incoming audio packet 2018-04-14 13:56:44 +01:00
Mike Brady e76a636668 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:01:42 +01:00
Mike Brady ad450d745b Add an extra field to a buffer for checking purposes. 2018-04-12 08:52:47 +01:00
Mike Brady 665a53a8b5 Allow sps to deal with duplicate RTSP messages like RECORD and SETUP. Add some diagnostics to the player. 2018-04-10 17:35:39 +01:00
Mike Brady d3e2cb5d92 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:44:16 +01:00
Mike Brady 8bf83c149f 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:42:46 +01:00
Mike Brady 32c7a535a1 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:34:59 +01:00
Mike Brady 5ba343bbf0 On receipt of a notify volume change, only send it to the dacp device if it's different to the posted volume -- stops loops 2018-03-09 16:27:20 +00:00
Mike Brady 7970a54b83 Make a tiny format change 2018-03-07 20:50:20 +00:00
Mike Brady 8991f3420c Remove many causes of warnings at the -Wextra level 2018-03-07 20:48:21 +00:00
Mike Brady c36a7822a3 Tidy up using clang-format 2018-03-07 14:35:25 +00:00
Mike Brady f94d6a5d16 Only request a resend one time, after about a second. Stop making resend requests if there is a send-to error for 10 seconds. 2018-02-10 17:43:47 +00:00
Mike Brady e0aa75a80c pretty-print after adding alsa volume-based mute capability 2018-01-13 20:15:27 +00:00
Mike Brady 3e2c3e837a Make player.c send information to the metadata store rather than initiating d-bus messages 2018-01-10 21:30:30 +00:00
Mike Brady 3e5dbe9e1a Move a play session's latency into the play session's data structure, duh. 2018-01-09 20:54:03 +00:00
Mike Brady 9cfc6c475b use max-latency and min-latency information in AirPlay ANNOUNCE packets, remove different latency settings except one fixed one 2018-01-09 17:54:24 +00:00
Mike Brady 1637a79dd6 Add tinyhttp code for sending and reading responses. Clean up some dacp routines. Most new and modified rooutines untested. 2017-12-18 18:50:01 +00:00
Mike Brady 86f76ad6ce Improve the sync between AirPlay and movies like YouTube. Not sure we understand the negotiation for syncing. 2017-12-10 22:26:19 +00:00
Mike Brady 88c550663c hooking up a dacp scanner 2017-12-02 19:52:39 +00:00
Mike Brady bafdd94e33 Clang-format 2017-11-19 21:41:11 +00:00
Mike Brady df7c48f0f3 Clean up naming of some files, get the 'stop' command working 2017-11-19 21:16:36 +00:00
Mike Brady 3198ec4265 Improve dbus and add some dacp services 2017-11-12 14:26:10 +01:00
Mike Brady d406514966 Correct a few warnings that show upo in Clang but not in GCC 2017-10-24 10:30:20 +01:00
Mike Brady d343a851c0 Some spring cleaning using clang-format 2017-10-05 17:48:24 +01:00
Mike Brady 139c18bf3e Add avahi code to look for the rmeote control information for the client and get the port number from it. 2017-10-05 17:39:32 +01:00
Mike Brady 1e07e1e0ef Add very very experimental and exploratory systembus dbus support -- subject to change or removal 2017-09-10 13:19:56 +01:00
Mike Brady 3001f39bc5 3.1.2 pretty-print using clang-format 2017-09-07 12:02:00 +01:00
Mike Brady d3148eb464 Improve handling of player lock and simplify handling of loss of connection and improve some debug messages 2017-08-27 12:43:42 +01:00
Mike Brady 06fa348504 Allow the player thread variable to be a null to indicate presence or absence of player thread 2017-08-25 21:59:52 +01:00
Mike Brady abd342553a Add index numbers for each RTSP conversation thread, to help figure debug messages out better. 2017-08-21 18:08:41 +02:00
Mike Brady e513e5330c Tidy up source using clang-format 2017-07-31 11:57:57 +02:00
Mike Brady bbf7857f88 Fix issue where sound from the last play was still there with the next play. Make timing stuff threadsafe 2017-04-07 20:16:13 +01:00
Mike Brady f3d85bc71a Deglobalise rtp_running, make rtp timing sender use the conn data strucutre 2017-03-16 15:01:08 +00:00
Mike Brady e4d5570eee Add rtp init and terminate, mirror all globals in the conn data structure 2017-03-16 13:19:38 +00:00
Mike Brady 5c48bfe0e9 De-globalise ab_read and ab_write. player thread now fully reentrant. 2017-03-10 19:57:02 +00:00
Mike Brady 314b5291a6 Make the seq_diff... etc calls explicitly depend on a base value 2017-03-10 19:41:51 +00:00
Mike Brady b559139862 De-globalise fix_volume and the vol_mutex 2017-03-10 19:20:49 +00:00
Mike Brady 755e95904c De globalise everything except ab_read and ab_write and the volume control stuff 2017-03-10 17:44:50 +00:00
Mike Brady f06e638d24 de-globalise flowcontrol ab_mutex,flush_mutex, first_packet_time_to_play, time_since_play_started 2017-03-09 17:22:48 +00:00
Mike Brady c87414237f de-globalise missing_packets, late_packets, too_late_packets, resend_requests, decoder_in_use, last_seqno_read 2017-03-09 16:28:26 +00:00
Mike Brady 05305e1581 De-globalise input_bytes_per_frame,output_bytes_per_frame,output_sample_ratio,max_frame_size_change,decoder_info,shutdown_requested,connection_state_to_output,player_thread_please_stop 2017-03-09 16:10:39 +00:00
Mike Brady 600cebacd4 De-globalise previous_random_number 2017-03-09 14:43:41 +00:00
Mike Brady cae9337dc4 De-globalise max_frames_per_packet,input_num_channels,input_bit_depth,input_rate 2017-03-09 14:26:28 +00:00
Mike Brady 498c1d6e18 Move buffer inside player thread 2017-03-08 19:58:02 +00:00
Mike Brady 7d672bcf56 Untested, probably not working 2017-03-07 22:42:23 +00:00
Mike Brady 064bd293c5 Tidy up with a clang-format 2016-09-11 10:35:53 +01:00
Mike Brady ef851a927b Enable 64-bit monotonic rtptime calculations 2016-09-02 16:53:52 +01:00
Mike Brady 7f6f4f4478 Begin to add support for monotonic 64-bit timestamps and frame sequence numbers 2016-09-02 12:22:38 +01:00