Commit Graph
216 Commits
Author SHA1 Message Date
Mike Brady c991054055 Fix issue where sound from the last play was still there with the next play. Make timing stuff threadsaf, handle volume_max_db correctly when ignore_volume_control is true 2017-04-07 20:18:03 +01: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 728d3d4956 add conn to many procedure calls 2017-03-16 12:33:56 +00:00
Mike Brady 43fdb12aca Fix audio backend latency offset calculations 2017-03-15 21:19:31 +00:00
Mike Brady 684565679c Merge stability changes to develoment branch and its convolution additions 2017-03-11 14:18:52 +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 3ada8c944c Make initialising and destroying mutexes and condition variables internal to the player thread. 2017-03-09 17:51:07 +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 d90fd0df50 Change the order of initialisation back to waht it was before de-globalising the init_decoder, etc. 2017-03-09 14:08:06 +00:00
Mike Brady ea072ec249 Move init and terminate decoder calls inside the player thread -- still using globals though 2017-03-08 20:13:10 +00:00
Mike Brady 498c1d6e18 Move buffer inside player thread 2017-03-08 19:58:02 +00:00
Mike Brady cbcda67f64 Fix a bug to ensure a silent frame is supplied to replace a missing frame. 2017-03-08 16:17:35 +00:00
Mike Brady 7d672bcf56 Untested, probably not working 2017-03-07 22:42:23 +00:00
Yann Pomarede 7b9cd28e90 2 audio filters added, a volume-dependent-loudness and a convolution filter. 2017-02-27 22:43:23 +01:00
Mike Brady 64371bb85c Remove obselete stuffing code. 2017-02-25 15:58:59 +00:00
Mike Brady cf29625d2c Clang Format 2017-02-11 12:12:07 +00:00
Mike Brady 2a4a4ed22b Add volume_max_db setting which works on the hw mixer if it exists or the sw attenuator otherwise. 2017-02-05 16:18:05 +00:00
Mike Brady 73e504ac2b Ensure apple_alac and the associated libstdc++ is not included unless apple_alac is selected. 2017-01-31 16:06:00 +00:00
Mike Brady 49239c3842 Use a precalculated array of pseudorandom numbers to do dither, reducing runtime load on low-powered processors. 2017-01-30 21:05:52 +00:00
Mike Brady 0764199545 Add possibility of using an array of precalculated pseudo random numbers to reduce processor load. 2017-01-30 18:34:09 +00:00
Mike Brady 62aaf07478 Add support for mbed TLS and deprecate polarssl support 2017-01-30 08:21:12 +00:00
Mike Brady b5ee350b3c Add *untested* support for S24_3LE and S24_3BE output format. 2016-09-28 11:47:44 +01:00
Mike Brady 0499743bd9 Make endian-independent. Allow users to specify only U8/S8/S16/S24/S32 2016-09-12 22:01:57 +01:00
Mike Brady 8cabb7d0ab format player.c 2016-09-11 15:42:33 +01:00
Mike Brady e9fef46fdd Fix 8-bit dithering, fix software volume control 2016-09-11 15:40:59 +01:00
Mike Brady e527d9f55f Soxr interpolation working. 2016-09-11 11:33:37 +01:00
Mike Brady 064bd293c5 Tidy up with a clang-format 2016-09-11 10:35:53 +01:00
Mike Brady 6bf0a1d483 Beginning to work, also added S8 and U8 support as VMWare Fusion and the Pi both offer them 2016-09-10 19:00:57 +01:00
Mike Brady d1c6478035 Some bug fixes and hacks. Not working. 2016-09-09 12:34:21 +01:00
Mike Brady 3469a2ab02 New backend for converting 32-bit "native" samples to output format ready for testing 2016-09-08 21:53:19 +01:00
Mike Brady 8d008fa2ec Begin to add full-scale post processing. Does not compile. 2016-09-08 15:56:22 +01:00
Mike Brady 2fad92e7a7 Get dither mask working right 2016-09-08 07:57:28 +01:00
Mike Brady 4849c1d429 Remove mersenne generator -- too slow, try another one 2016-09-07 16:55:14 +01:00
Mike Brady 4e4edf9909 Add a fancy 64-bit pseudo random number generator -- thanks to its developers 2016-09-07 09:05:43 +01:00
Mike Brady c7c794c72b Preliminary support for 32-bit stuffing 2016-09-05 22:35:44 +01:00
Mike Brady cb7c12d636 Fix silence bug and hack code to avoid the stuff procedures 2016-09-05 17:11:30 +01:00
Mike Brady e6e1acd91e Stop multiplying monotonic timestamps by the output to input sampling ratio 2016-09-05 15:24:59 +01:00
Mike Brady ae84366e8d Change over to times as opposed to frames for setting timing options 2016-09-04 19:37:22 +01:00
Mike Brady eca364691e Working reliably with all 16-bit speeds 2016-09-04 16:34:56 +01:00
Mike Brady 30a016867c Add code to change format from 16 to 24 and 32 bit and to change sample rates 2016-09-04 13:29:11 +01:00
Mike Brady 68721f64e0 Fix a few little bugs associated with outputing at a higher rate 2016-09-02 17:29:24 +01:00
Mike Brady ef851a927b Enable 64-bit monotonic rtptime calculations 2016-09-02 16:53:52 +01:00
Mike Brady 1185a2aaa9 Add more support for monotonic 64-bit timestamps and frame sequence numbers 2016-09-02 13:48:39 +01:00