Files
asterisk/main
Michal Hajek a2ae527d60 audiohook.c: Improve frame pairing logic to avoid MixMonitor breakage with mixed codecs
This patch adjusts the read/write synchronization logic in audiohook_read_frame_both()
to better handle calls where participants use different codecs or sample sizes
(e.g., alaw vs G.722). The previous hard threshold of 2 * samples caused MixMonitor
recordings to break or stutter when frames were not aligned between both directions.

The new logic uses a more tolerant limit (1.5 * samples), which prevents audio tearing
without causing excessive buffer overruns. This fix specifically addresses issues
with MixMonitor when recording directly on a channel in a bridge using mixed codecs.

Reported-by: Michal Hajek <michal.hajek@daktela.com>

Resolves: #1276
Resolves: #1279
2025-07-02 14:34:35 +00:00
..
2025-02-20 21:46:27 +00:00
2021-11-15 17:33:27 -06:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2023-12-08 13:11:48 +00:00
2025-02-20 21:46:27 +00:00
2023-12-08 13:11:48 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2020-04-06 10:23:20 -05:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:27 +00:00
2025-01-16 15:32:48 +00:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2025-01-29 14:17:54 +00:00
2025-05-07 16:48:16 +00:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2022-07-07 08:19:14 -05:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2020-06-10 09:33:28 -05:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2024-08-12 15:21:31 +00:00
2025-01-29 14:17:54 +00:00
2021-12-02 15:02:09 -06:00
2021-11-15 17:33:27 -06:00
2021-11-15 17:33:27 -06:00
2025-04-21 13:29:27 +00:00
2021-12-02 15:02:09 -06:00
2025-04-02 12:16:35 +00:00
2025-02-20 21:46:27 +00:00
2025-01-29 14:17:54 +00:00
2025-01-29 14:17:54 +00:00
2025-05-07 16:48:16 +00:00
2025-01-29 14:17:54 +00:00
2025-01-29 14:17:54 +00:00
2025-04-21 13:29:27 +00:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2025-01-29 14:17:54 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2025-01-29 14:17:54 +00:00
2025-02-20 21:46:27 +00:00
2025-01-29 14:17:54 +00:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2025-01-29 14:17:54 +00:00
2021-12-02 15:02:09 -06:00
2021-11-15 17:33:27 -06:00
2021-12-02 15:02:09 -06:00
2021-11-18 14:46:42 -06:00
2025-01-29 14:17:54 +00:00
2025-01-29 14:17:54 +00:00
2025-02-20 21:46:27 +00:00
2025-06-02 16:35:27 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2022-03-24 12:00:58 -05:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:27 +00:00
2025-02-20 21:46:27 +00:00