Mike Brady
ccc4fe09af
Tidy up the formats.
2018-11-20 22:56:53 +00:00
Mike Brady
0052389d1e
Stop noisy mutex unlock
2018-11-19 19:43:17 +00:00
Mike Brady
d4435e2068
Try to make the debug stuff pthread_cancel-proof including the debug / warn / inform / die and debug_mutex calls. Tidy up usage of program_stop.
2018-11-19 18:26:03 +00:00
Mike Brady
6ad0b15ec0
Use pthread_cleanup to unlock alsa handle mutex.
2018-11-19 15:35:04 +00:00
Mike Brady
cd71b3f727
Enhance error messages to warn if the alsa output device doesn't recover.
2018-10-31 16:33:16 +00:00
Mike Brady
3cb359c747
Tighten up integer promotion checks to calculate large delays properly. Fix input rate calculation restarting.
2018-10-23 10:26:08 +00:00
Mike Brady
e0a4e5cde8
Format tidy-up
2018-10-21 17:10:23 +01:00
Mike Brady
c2d1da2e5c
Generate error messages if there is a problem with getting the delay, and pay attention to it in the player thread.
2018-10-14 15:15:15 +01:00
Mike Brady
1b18f45fac
Clang Format Cleanup
2018-09-09 20:43:01 +01:00
Mike Brady
8cabb16f25
Initial very rough attempt at a jackaudio backend.
2018-08-31 12:39:18 +01:00
Mike Brady
44c61835b8
Include a few fixes for FreeBSD warnings and quieten some debug messages
2018-08-22 15:10:38 +01:00
Mike Brady
d2f6a446e1
Bring up to date with 3.3d2 from the raspberry pi
2018-08-22 14:41:03 +01:00
Mike Brady
754155ce0f
clang format
2018-08-22 13:07:04 +01:00
Mike Brady
1ee806a53a
Fix display of drift -- the sign is correct now. All timing is relative to the local clock. Add a rough estimate of the correction necessary. Use the most recent 128 timing samples.
2018-08-22 13:02:42 +01:00
Mike Brady
0cda8f963c
Simplify some calculations and a bug so that the output calculation is correclty reset if there is a problem with output, e.g. an underflow.
2018-08-15 15:57:41 +01:00
Mike Brady
ab1f55fe20
Log an entry if a different period or buffer size was requested and not obtained.
2018-08-15 12:42:02 +01:00
Mike Brady
8b0889ea5d
Remove bogus possibly uninitialised variable warning.
2018-08-06 17:57:42 +01:00
Mike Brady
3888125a24
Change calculation order to prevent overflow after about 26 hours at 44,100 fps in the frame rate calculations. Calculate frame rates whether statistcs are requested or not. Clean up some fps rate availability flags.
2018-08-01 09:35:28 +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
ea20840d6c
Make the play function return a status (ignored for the present). Clean up audio_alsa by removing all the die calls and placing the alsa_mutex calls in pthread cleanup routines.
2018-07-29 13:45:42 +01:00
Mike Brady
c91a991edd
Prevent arithmetic overflow after 2^32 microseconds, i.e. about one hoour and 11 minutes...
2018-07-29 10:45:55 +01:00
Mike Brady
17793bd000
Change measurement of frames and timing to mimimise effects of paging, cache loading, asynchronous access to the DAC.
2018-07-29 09:47:53 +01:00
Mike Brady
c03f6d8133
Ensure flush resets everything.
2018-07-29 08:35:06 +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
5f750ba9b7
Fix a few memory leaks.
2018-07-22 16:12:52 +01:00
Mike Brady
f1d4503431
Try to add proper cancellation code to all threads -- not complete, buggy.
2018-07-20 13:50:38 +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
452e1f72fb
Include all RTSP messages in debug level 2 except for the OPTIONS message; tidy up some other debug messages.
2018-05-25 13:48:12 +01:00
Mike Brady
e66a47943d
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".
2018-05-25 09:22:48 +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
709ffa5915
Replace snd_pcm_drop with snd_pcm_drain.
2018-05-06 17:25:43 +01:00
Mike Brady
31b4dcc54a
Release candidate 1 for 3.2
2018-04-07 16:43:05 +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
69b3b5d776
Send rtsp events to the metadata thteread for handling. Begin to clean up signals.
2018-03-31 12:39:26 +01: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
370501117e
Change snd_pcm_drain to snd_pcm_drop, remove the blocking and unblocking code, so a little formatting.
2018-02-05 14:19:33 +00:00
Mike Brady
2efab6ee4d
Quieten a debug message.
2018-01-31 19:54:28 +00:00
Mike Brady
f83b86ec23
Add the option to use a flat volume control profile.
2018-01-29 22:28:22 +00:00
Mike Brady
e0aa75a80c
pretty-print after adding alsa volume-based mute capability
2018-01-13 20:15:27 +00:00
Mike Brady
6d792fa0ef
Quieten some debug messages.
2018-01-13 20:13:19 +00:00
Mike Brady
8a4bfb0378
Take advantage of the mute capability of a device that mutes at its lowest setting
2018-01-13 20:09:51 +00:00
Mike Brady
95e291e7e7
3.14 to 3.1.5 Fix a bug resumption in iOS 11.2 on software-volume controlled Shairport Syncs to be at 100% volume. Improve sync with movies. Other bug fixes.
2017-12-11 19:59:58 +00:00
Jörg Krause
41ebf30a08
Fix usage of ALSA softvol plugin
...
Somewhere in the version 3.x the softvol plugin got broken as the volume
change is not applied anymore. Turned out for the softvol plugin no
`volume()` and `parameters()` are defined.
2017-11-20 17:27:47 +01:00
Mike Brady
d343a851c0
Some spring cleaning using clang-format
2017-10-05 17:48:24 +01:00
Jakub Nabaglo
90f779dc74
Minor cleanup
2017-09-26 21:37:01 +10:00
Jakub Nabaglo
2915e6672c
Attempt to fix hardware volume bug on devices without a linear scale
2017-09-26 17:24:55 +10:00
Mike Brady
81a02221c1
Change default of using alsa mute switch to "no" for compatability with other audio players.
2017-09-02 17:17:11 +01:00
Mike Brady
e513e5330c
Tidy up source using clang-format
2017-07-31 11:57:57 +02:00