Mike Brady
|
c2e3fa5aa7
|
Move ab_mutex, flow control CV and flush mutex initialisation and teardown out of the player thread. Thus remove need for player theread lock. Format some of the surce files.
|
2018-07-14 13:38:29 +01:00 |
|
Mike Brady
|
6eab2d1617
|
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:24 +01:00 |
|
Mike Brady
|
497d49dda6
|
Move the resend requests to outside the ab_mutex lock and put a send timeout on the resend requester.
|
2018-06-01 14:23:34 +01:00 |
|
Mike Brady
|
93f410599f
|
Add debug_mutex_unlock code in place of a regular pthread_mutex_unlock in some places.
|
2018-06-01 09:28:28 +01:00 |
|
Mike Brady
|
18b37ea254
|
Replace all pthread_mutex_locks with debug_mutex_lock with a message and timer. Not really tested.
|
2018-06-01 08:29:48 +01:00 |
|
Mike Brady
|
510424dc5f
|
quieten a few compiler warnings
|
2018-05-20 15:12:33 +01:00 |
|
Mike Brady
|
499fae9796
|
Tidy up and quieten some debug messages.
|
2018-05-18 10:08:01 +01:00 |
|
Mike Brady
|
6d08725539
|
If the player thread is locked, don't block player_put_packet. Instead, discard the packet.
|
2018-05-17 16:15:17 +01:00 |
|
Mike Brady
|
d0237fb420
|
Change some debug messages.
|
2018-05-17 11:29:59 +01:00 |
|
Mike Brady
|
8a5a29e2c2
|
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.
|
2018-05-17 10:29:59 +01:00 |
|
Mike Brady
|
7d0eb37958
|
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.
|
2018-05-17 10:16:44 +01:00 |
|
Mike Brady
|
7e7bbaf4da
|
Change the resend error backoff to one sixteenth of a second -- now can alomst tolerate a 10% failure of packets.
|
2018-05-09 20:20:54 +01:00 |
|
Mike Brady
|
8c6e4b8ea4
|
Make the UDP sockets blocking rather than non-blocking, but set 2 millisecond limits on the sendto calls.
|
2018-05-09 09:29:47 +01:00 |
|
Mike Brady
|
6d66b2ed33
|
Stop erroneously assuming that the buffer passed to the player is not changed -- sometimes it is, it seems. Tidy up some typing.
|
2018-05-07 22:00:01 +01:00 |
|
Mike Brady
|
b0db1b228c
|
Its 353 not 363.
|
2018-05-04 20:21:47 +01:00 |
|
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
|
41241681e3
|
Make resend error backoff work better and set it to 0.5 seconds. Quieten some routine debug messages.
|
2018-04-23 13:09:44 +01:00 |
|
Mike Brady
|
3e72bb216e
|
Send resend requests via control channel rather than the audio channel. This makes it compatilbe iwht AirAudio and confformant with the unofficial guide to the airplay protocol. Brown bag time.
|
2018-04-19 10:16:28 +01:00 |
|
Mike Brady
|
0738ddeac8
|
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:16 +01:00 |
|
Mike Brady
|
ad48056686
|
Improvements in handling non-existent DACP server, slightly more informative debug messages. 3.2RC4.
|
2018-04-18 10:34:50 +01:00 |
|
Mike Brady
|
ae94daf259
|
Add a little more detail to the resend requests
|
2018-04-17 21:08:29 +01:00 |
|
Mike Brady
|
e002da6033
|
Fix a tiny typo.
|
2018-04-16 10:05:02 +01:00 |
|
Mike Brady
|
ed0ce06e82
|
Fix a few tiny typos and rationalise some debug message levels.
|
2018-04-16 10:00:22 +01:00 |
|
Mike Brady
|
70c72821c9
|
Add code to skip occasional outgoing and icoming timing and resnd packets to simulate a bad network. Quieten some debug messages.
|
2018-04-14 17:33:45 +01:00 |
|
Mike Brady
|
deb9f4b86b
|
Add logic to skip an occasional outbound timing requester or to discard an occasional incoming timing packet, all to simulate a poor network.
|
2018-04-14 16:07:13 +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
|
d9c9009ff2
|
Add the ability to pseudo-randomly drop audio packets to simiulate a noisy network.
|
2018-04-13 09:58:05 +01:00 |
|
Mike Brady
|
c40d1ad53c
|
Change the order of port allocation in rtp setup. Change some debug weights.
|
2018-04-12 22:47:42 +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
|
08a7d4ffb5
|
Use snprintf in place of sprintf.
|
2018-04-08 15:36:05 +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
|
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
|
07e46565ca
|
Eliminate almost all warnings from -Wall
|
2018-03-07 14:29:14 +00:00 |
|
Mike Brady
|
a7d82ae823
|
Begin to avoid strict aliasing violations -- not finished yet.
|
2018-03-07 08:58:23 +00:00 |
|
Mike Brady
|
73bf006c12
|
Add lots of debug messages, begin to use correctly sized PRId64 and friends in sprintf commands, begin to remove some simple causes of warnings.
|
2018-03-06 08:50:34 +00:00 |
|
Mike Brady
|
b1e4ac7d05
|
Quieten a few debug messages
|
2018-02-10 17:58:39 +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
|
0a29b61238
|
Quieten some debug messages
|
2018-02-05 19:56:21 +00:00 |
|
Mike Brady
|
a0bb2993df
|
Add timing to debug messages, make timing sender wait interruptable eveyr 20 ms, thus making TEARDOWN faster.
|
2018-02-03 20:24:58 +00:00 |
|
Mike Brady
|
28a671b292
|
Ignore timing pings over 350 millisecond and emit a debug message.
|
2018-02-01 18:04:39 +00:00 |
|
Mike Brady
|
c371aa59fd
|
pretty print
|
2018-01-20 16:53:02 +00:00 |
|
Mike Brady
|
866c06240e
|
Replace use of perror with strerror_l
|
2018-01-17 14:43:43 +00:00 |
|
Mike Brady
|
e0aa75a80c
|
pretty-print after adding alsa volume-based mute capability
|
2018-01-13 20:15:27 +00:00 |
|
Mike Brady
|
3c08cedb78
|
Only allow sync packets after flush or resume to set latency and set an initial default latency.
|
2018-01-10 13:02:52 +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 |
|