mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 11:06:31 +00:00
chan_websocket: Reset frame_queue_length to 0 after FLUSH_MEDIA
In the WebSocket channel driver, the FLUSH_MEDIA command clears all frames from the queue but does not reset the frame_queue_length counter. As a result, the driver incorrectly thinks the queue is full after flushing, which prevents new multimedia frames from being sent, especially after multiple flush commands. This fix sets frame_queue_length to 0 after flushing, ensuring the queue state is consistent with its actual content. Fixes: #1304
This commit is contained in:
committed by
github-actions[bot]
parent
0086f4a0b8
commit
f9219284cb
@@ -476,6 +476,7 @@ static int process_text_message(struct websocket_pvt *instance,
|
||||
while ((frame = AST_LIST_REMOVE_HEAD(&instance->frame_queue, frame_list))) {
|
||||
ast_frfree(frame);
|
||||
}
|
||||
instance->frame_queue_length = 0;
|
||||
instance->bulk_media_in_progress = 0;
|
||||
instance->leftover_len = 0;
|
||||
AST_LIST_UNLOCK(&instance->frame_queue);
|
||||
|
Reference in New Issue
Block a user