Files
asterisk/main
Michal Hajek a886e5b297 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-03 11:22:55 -05:00
..
2025-03-20 18:34:08 +00:00
2021-11-15 17:33:27 -06:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2023-12-08 13:11:54 +00:00
2025-03-20 18:34:08 +00:00
2023-12-08 13:11:54 +00:00
2025-06-26 11:50:46 -06:00
2025-03-20 18:34:08 +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-03-20 18:34:08 +00:00
2025-01-23 18:42:28 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2021-12-02 15:02:09 -06:00
2022-07-07 08:19:14 -05:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +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-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2024-08-12 15:21:35 +00:00
2025-03-20 18:34:07 +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-05-01 12:44:58 +00:00
2021-12-02 15:02:09 -06:00
2025-05-01 12:44:58 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:07 +00:00
2025-06-26 11:50:46 -06:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:07 +00:00
2025-05-01 12:44:58 +00:00
2021-12-02 15:02:09 -06:00
2025-03-20 18:34:08 +00:00
2021-12-02 15:02:09 -06:00
2025-03-20 18:34:07 +00:00
2025-06-26 11:50:46 -06:00
2025-03-20 18:34:08 +00:00
2021-12-02 15:02:09 -06:00
2021-12-02 15:02:09 -06:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:07 +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-03-20 18:34:07 +00:00
2025-03-20 18:34:07 +00:00
2025-03-20 18:34:08 +00:00
2025-06-26 12:10:20 -06:00
2025-03-20 18:34:08 +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-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00
2021-12-02 15:02:09 -06:00
2025-03-20 18:34:08 +00:00
2025-03-20 18:34:08 +00:00