Commit Graph
6205 Commits
Author SHA1 Message Date
Mike Brady fb5b434f55 Quieten some debug messages. 2025-12-14 15:27:12 +00:00
Mike Brady 07b60e7112 1. Add the ability to work back through queued buffers to find the first buffer that’s older than the given one. This is to enable the replacement of deciphered buffers with buffers that arrive later but are timed earlier.
Added functions that relate to this are: get_revised_seqno() to wind back through the queued buffers and clear_buffers_from() to free buffers that are already occupied.
2. Clean up get_audio_buffer_size_and_occupancy() and replace it with get_audio_buffer_occupancy().
3. Add a new general setting: audio_decoded_buffer_desired_length_in_seconds for managing the size of the player buffer queue when the source is buffered audio. Default is 0.75 seconds so that we can step back up to that time if older buffers appear.
2025-12-14 10:17:38 +00:00
Mike Brady ee56f778fd Remove redundant (?) calls to 'prepare_decoding_chain()'. 2025-12-11 16:44:16 +00:00
Mike Brady 7848e88b81 Set the type to '96' for Classic compatibility mode. Quieten some debug messages. 2025-12-11 15:34:12 +00:00
Mike Brady bc384466e0 Set the AirPlay type to ap_1 and the timing type to ts_ntp when you get an ANNOUNCE to signify a Classic AirPlay session has been started. 2025-12-11 11:03:18 +00:00
Mike Brady 489bfd7862 Add a check for EINTR to accept() calls. 2025-12-09 17:13:18 +00:00
Mike Brady e9f60c89d2 Cleaned up the get_play_lock and release_play_lock stuff and placed them in the right (?) places for AP2, AP1 compatibiity and Classic AP. Fixed the setting of flags and GID in Bonjour. 2025-12-09 12:10:05 +00:00
Mike Brady f2de7fadef Start using get_play_lock and release_play_lock and enable them to turn on and off the appropriate bonjour flags. 2025-12-08 09:50:54 +00:00
Mike Brady 5969896612 release principal conn when terminating a listener loop, set the airplay_stream_type for a classic airplay session. 2025-12-06 15:05:58 +00:00
Mike Brady 21e7d628ef Make cancel_all_RTSP_threads be specific about what kind of listeners it will kill, if needed. Quieten a few more messages. 2025-12-05 13:29:35 +00:00
Mike Brady a755a26e92 Move clock setup and start from Setup Phase 1 to Setup Phase 2. clear_all_conns now clears every type of connection, not just airplay. Clean up, rename and remove some old stuff and quieten yet more debug messages. 2025-12-05 12:10:15 +00:00
Mike Brady b82ae79852 Quieten a few more debug messages 2025-12-05 10:05:57 +00:00
Mike Brady a062f83abe Quieten lots of debug messages. 2025-12-05 08:49:22 +00:00
Mike Brady aac6913681 Stop the player thread from resetting the NTPTP client clock when it finishes. 2025-12-05 08:33:18 +00:00
Mike Brady 0e274eb760 Balking when connecting to HPM. 2025-12-04 11:35:00 +00:00
Mike Brady 009a13dfe5 Separate out the buffered audio processor, the buffered reader and the mod 2^23 aritemetic. 2025-12-03 17:44:50 +00:00
Mike Brady 341a1f8d5d Move a function so that it can be build without the FFmpeg library, duh. 2025-12-03 16:13:38 +00:00
Mike Brady 93bafe304a Modify/simplify the TEARDOWN handling in AP2 mode. Allow the threads to natrually terminate when ports are closed by the client. 2025-12-03 15:56:38 +00:00
Mike Brady 3e57f8c706 Add a flag showing the event thread had exited. Modify the ab_mutex locking and unlocking. Add get_category_string(). 2025-12-03 15:54:01 +00:00
Mike Brady 32915d92a4 clang format 2025-12-03 15:50:26 +00:00
Mike Brady 1b4838df52 extend the new build flags to other architectures 2025-12-03 15:49:47 +00:00
Mike Brady d18aebb2d0 Begin to separate out the Boujor Strings stuff. 2025-12-03 15:48:55 +00:00
Mike Brady 2de1ecf0dd Move debug stuff into utilites folder. Move structured_buffer stuff into its own files. Duplicate rtp_event_receiver to ap2_event_handler and ap2_rc_event_handler. 2025-12-02 13:02:15 +00:00
Mike Brady 7dac575602 Move debug stuff into utilites folder. Move structured_buffer stuff into its own files, duplicate rtp_event_receiver to ap2_event_handler and ap2_rc_event_handler. 2025-12-02 12:59:54 +00:00
Mike Brady 4e4d35ec77 Move rtp_event_handler out to its own files, make two copies of it called ap2_event_handler and ap2_rc_event_handler respectively. 2025-12-02 12:57:01 +00:00
Mike Brady 5406e666a6 Quieten advisory log entries from FFmpeg unless at verbosity 2 or more. 2025-12-02 12:55:04 +00:00
Mike Brady 8c765d74ac Merge branch 'development' of github.com:mikebrady/shairport-sync into development
Add code to clear pending flushes from a connection whn a new buffered audio processor is created.
2025-12-01 13:07:54 +00:00
Mike Brady b64d0c9813 Update release notes for version 5.0-dev-93
Added a bug fix for flushing requests in new play sessions.
2025-12-01 11:18:54 +00:00
Mike Brady 1417cd6f51 When a new buffered audio processor is created, ensure any old flush requests are removed first. 2025-12-01 11:15:25 +00:00
Mike Brady 54445ee8f5 Separate out the debug facilities into their own files. Clean up and add a few associated methods. 2025-11-27 12:37:16 +00:00
Mike Brady 26f91f1e0d Merge pull request #2102 from mikebrady/dependabot/github_actions/development/actions/checkout-6.0.0
Bump actions/checkout from 5.0.0 to 6.0.0
2025-11-24 10:46:17 +05:30
Mike Brady a7171def24 Merge pull request #2096 from mikebrady/dependabot/github_actions/development/docker/setup-qemu-action-3.7.0
Bump docker/setup-qemu-action from 3.6.0 to 3.7.0
2025-11-24 10:45:54 +05:30
dependabot[bot] 23d675cebf Bump actions/checkout from 5.0.0 to 6.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-23 10:04:08 +00:00
Mike Brady 66aa8d9537 Update RELEASENOTES with significant audio processor changes
Significant updates to the buffered audio processor for AutoMix on AirPlay, including a rebuild and removal of redundant code. Diagnostics remain in place, and users are encouraged to report any new issues.
2025-11-16 17:07:00 +00:00
Mike Brady e12a3ed7b2 Do a long-overdue rebuild of the buffered audio processor and, with everything we have figured out, implement a cleaner method to handle both immediate and deferred flush requests. Remove lots of old flags and redundant code. Leave in a few debug messages. 2025-11-16 16:58:34 +00:00
dependabot[bot] 904a454ab4 Bump docker/setup-qemu-action from 3.6.0 to 3.7.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-09 10:03:15 +00:00
Mike Brady b922049b2f Update BUILD.md 2025-10-13 14:25:41 +01:00
Mike Brady 91a1059163 Update RELEASENOTES-DEVELOPMENT.md 2025-10-13 14:16:39 +01:00
Mike Brady 2ca3659643 Update RELEASENOTES-DEVELOPMENT.md 2025-10-13 14:15:30 +01:00
Mike Brady 3859225291 Merge pull request #2087 from mikebrady/dependabot/github_actions/development/docker/login-action-3.6.0
Bump docker/login-action from 3.5.0 to 3.6.0
2025-10-13 13:34:00 +01:00
Mike Brady 9e31cef370 Merge pull request #2086 from mikebrady/dependabot/github_actions/development/actions/stale-10.1.0
Bump actions/stale from 10.0.0 to 10.1.0
2025-10-13 13:33:41 +01:00
Mike Brady d043f98330 Update the convolution code:
(1) to be multithreaded,
    (2) to work on multichannel audio and
    (3) to work on 48k and 44.1k audio.

    Allow multiple impulse response (IR) files with a new setting: "convolution_ir_files"
    When convolution starts, Shairport Sync will look for an IR file with a sample rate
    matching the input (44.1k or 48k) and channel count.
    If one can't be found, it will look for a single-channel IR file with the same rate.
    It will always choose the first match in the file list supplied "convolution_ir_files".

    Allow multithreading -- use the "convolution_thread_pool_size" to set the number of threads to use.

    Deprecate "convolution" -- use "convolution_enabled" instead.
    Deprecate "convolution_max_length" -- use "convolution_max_length_in_seconds" instead.
    Deprecate "convolution_ir_file" -- use "convolution_ir_files" instead.
    Update corresponding D-Bus methods and properties.

Update the loudness code to work on 48k and well as 44.1k audio and with multichannel audio.

    Deprecate "loudness" -- use "loudness_enabled" instead.
    Update corresponding D-Bus methods and properties.

Fix a deprecated FFmpeg warning.

Update HiFi-LoFi FFT convolver to latest available.
2025-10-13 13:26:20 +01:00
dependabot[bot] 39387879f6 Bump docker/login-action from 3.5.0 to 3.6.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-05 10:04:42 +00:00
dependabot[bot] 6ee5fe32ec Bump actions/stale from 10.0.0 to 10.1.0
Bumps [actions/stale](https://github.com/actions/stale) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v10.0.0...v10.1.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-05 10:04:39 +00:00
Mike Brady 08d369385c Merge branch 'development' of github.com:mikebrady/shairport-sync into development
dependabot updates
2025-09-29 16:58:46 +01:00
Mike Brady 86944cb5aa Merge pull request #2084 from mikebrady/dependabot/github_actions/development/docker/setup-buildx-action-3.11.1
Bump docker/setup-buildx-action from 3.8.0 to 3.11.1
2025-09-29 16:58:03 +01:00
dependabot[bot] 2c0814bd2c Bump docker/setup-buildx-action from 3.8.0 to 3.11.1
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.8.0 to 3.11.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.8.0...v3.11.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 15:57:45 +00:00
Mike Brady a38fc7758e Merge pull request #2083 from mikebrady/dependabot/github_actions/development/docker/build-push-action-6.18.0
Bump docker/build-push-action from 6.13.0 to 6.18.0
2025-09-29 16:56:55 +01:00
Mike Brady b98c408b0a Merge pull request #2082 from mikebrady/dependabot/github_actions/development/docker/setup-qemu-action-3.6.0
Bump docker/setup-qemu-action from 3.3.0 to 3.6.0
2025-09-29 16:56:41 +01:00
Mike Brady 30eea1f2e3 Merge pull request #2081 from mikebrady/dependabot/github_actions/development/docker/login-action-3.5.0
Bump docker/login-action from 3.3.0 to 3.5.0
2025-09-29 16:56:29 +01:00