Files
asterisk/main
Michal Hajek 355ce73e72 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:36 +00:00
..
2025-02-20 21:46:28 +00:00
2021-11-15 17:33:27 -06:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2023-12-08 13:11:54 +00:00
2025-02-20 21:46:28 +00:00
2023-12-08 13:11:54 +00:00
2025-02-20 21:46:28 +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:28 +00:00
2025-01-16 15:32:52 +00:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2025-01-29 14:18:18 +00:00
2025-05-07 16:47:02 +00:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2021-12-02 15:02:09 -06:00
2022-07-07 08:19:14 -05:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2023-01-10 14:07:44 -06: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:28 +00:00
2025-02-20 21:46:28 +00:00
2024-08-12 15:21:35 +00:00
2025-01-29 14:18:18 +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:28 +00:00
2021-12-02 15:02:09 -06:00
2025-04-02 12:16:36 +00:00
2025-02-20 21:46:28 +00:00
2025-01-29 14:18:18 +00:00
2025-01-29 14:18:18 +00:00
2025-05-07 16:47:02 +00:00
2025-01-29 14:18:18 +00:00
2025-01-29 14:18:18 +00:00
2025-04-21 13:29:28 +00:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:28 +00:00
2021-12-02 15:02:09 -06:00
2025-01-29 14:18:18 +00:00
2025-02-20 21:46:28 +00:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2025-01-29 14:18:18 +00:00
2025-02-20 21:46:28 +00:00
2025-01-29 14:18:18 +00:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00
2025-01-29 14:18:18 +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:18:18 +00:00
2025-01-29 14:18:18 +00:00
2025-02-20 21:46:28 +00:00
2025-06-02 16:35:28 +00:00
2025-02-20 21:46:28 +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:28 +00:00
2025-02-20 21:46:28 +00:00
2021-12-02 15:02:09 -06:00
2025-02-20 21:46:28 +00:00
2025-02-20 21:46:28 +00:00