marshalling on sessions, missing override tag

This commit is contained in:
Hane 2025-01-14 19:19:49 +01:00
commit 667482cfea
10 changed files with 57 additions and 15 deletions

View file

@ -82,6 +82,7 @@ class Endpoint {
void unregisterNewSessionNotification(EndpointNewSessionCallback* ensc);
void deleteSessions();
void activateEndpointSessions();
std::mutex endpointSessionsMutex;
~Endpoint();
private:
@ -185,16 +186,26 @@ class Overseer {
};
class EndpointNewSessionCallback : public IAudioSessionNotification {
private:
struct SessionThreadParams;
public:
EndpointNewSessionCallback(EndpointHandler *eph);
ULONG AddRef();
ULONG Release();
HRESULT QueryInterface(REFIID riid, VOID **ppvInterface);
HRESULT OnSessionCreated(IAudioSessionControl *NewSession);
static void createSessionThread(SessionThreadParams params);
private:
ULONG ref = 1;
EndpointHandler *eph;
struct SessionThreadParams {
EndpointHandler *eph;
Session *session;
bool isDelete;
};
};
namespace Environment {