Mike Brady
|
3870195cf9
|
Begin to use a unified and more accurate scheme for translating between local time and rtp timestamp, taking clock drift and actualt source rate into account if available. Not dealing with highes output rates yet.
|
2018-08-05 17:23:07 +01:00 |
|
Mike Brady
|
f6b3c420c7
|
Enable input frame rate calculation to handle a pause/resume correctly.
|
2018-07-30 14:07:39 +01:00 |
|
Mike Brady
|
b75c82d14a
|
Add input frame rate calculation.
|
2018-07-30 13:39:38 +01:00 |
|
Mike Brady
|
76c5dd9285
|
Stop using SIGUSR1 for cancelling threads, use pthread_cancel and friends instead, fix some memory leaks, add accurate ouput rate calculation to statistics, add "quit" verb to MPRIS and native d-bus interfaces. Probably still buggy.
|
2018-07-30 10:07:11 +01:00 |
|
Mike Brady
|
c85e7e05d1
|
Add a frames per second output. This should be exact if the machine is connected up to, say, an NTP time service. It uses CLOCK_MONOTONIC time.
|
2018-07-28 19:02:02 +01:00 |
|
Mike Brady
|
c8c70b6016
|
Add quit commands to the MPRIS and native D-Bus command set. Not tested ecologically.
|
2018-07-18 15:32:07 +01:00 |
|
Mike Brady
|
a4eaace76b
|
Begin to try to get Shairport Sync to quit cleanly, relinquishing memory and ports etc. properly so that valgrind can be more useful.
|
2018-07-17 10:28:06 +01:00 |
|
Mike Brady
|
9a8a863825
|
Clean out player_+thread_please_stop references.
|
2018-07-15 16:25:56 +01:00 |
|
Mike Brady
|
01f2a374b9
|
Use pthread_cancel to stop a player thread rather than SIGUSR1 and pthread_kill.
|
2018-07-15 13:54:33 +01:00 |
|
Mike Brady
|
768dc7759a
|
Tidy up log output and add timers to inform statements. Move more stuff to the player thread pop function. Warn about cancellation points in debug versions of mutex lock and unlock. Ensure they are not cancellation points when debug not in use. Warn about Mac OS X cancellation points.
|
2018-07-15 11:54:48 +01:00 |
|
Mike Brady
|
d3b79b965d
|
Make more of the code amenable to pthread cancel
|
2018-07-14 19:34:31 +01:00 |
|
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
|
d224f47e37
|
Remove unneeded volume control mutex, adjust some timings, add wait time to slow mutex locks.
|
2018-06-01 11:21:16 +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
|
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
|
b9d3a036b1
|
Revise resend interval calculation to spread it out over a long latency.
|
2018-05-15 12:08:01 +01:00 |
|
Mike Brady
|
418b1ba7c7
|
Add a read-write mutex to protect a player thread when it's being created or deleted; make player_flush get a read lock to get access.
|
2018-05-12 15:10:27 +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
|
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 |
|