1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:38:11 +00:00

AudioServer: Let ASMixer notify ASClientConnection about finished buffers.

Instead of posting a message directly from ASMixer, notify the client via
ASClientConnection::did_finish_playing_buffer().
This commit is contained in:
Andreas Kling 2019-07-27 21:15:33 +02:00
parent dbebf10131
commit 6a0319697c
3 changed files with 17 additions and 13 deletions

View file

@ -1,17 +1,17 @@
#include "ASClientConnection.h"
#include "ASMixer.h"
#include <LibCore/CEventLoop.h>
#include <LibAudio/ASAPI.h>
#include <LibAudio/ABuffer.h>
#include <LibAudio/ASAPI.h>
#include <LibCore/CEventLoop.h>
#include <SharedBuffer.h>
#include <errno.h>
#include <unistd.h>
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
ASClientConnection::ASClientConnection(CLocalSocket& client_socket, int client_id, ASMixer& mixer)
: Connection(client_socket, client_id)
@ -63,3 +63,10 @@ bool ASClientConnection::handle_message(const ASAPI_ClientMessage& message, cons
return true;
}
void ASClientConnection::did_finish_playing_buffer(Badge<ASMixer>, int buffer_id)
{
ASAPI_ServerMessage reply;
reply.type = ASAPI_ServerMessage::Type::FinishedPlayingBuffer;
reply.playing_buffer.buffer_id = buffer_id;
post_message(reply);
}