session baby steps
This commit is contained in:
parent
3735f9a251
commit
7eb6e29ee6
14 changed files with 393 additions and 87 deletions
|
|
@ -1,33 +1,12 @@
|
|||
#pragma once
|
||||
|
||||
#define _WIN32_WINNT 0x0A00
|
||||
#include <sdkddkver.h>
|
||||
|
||||
//done by qt by def #define UNICODE
|
||||
|
||||
#include <Windows.h>
|
||||
#include <processthreadsapi.h>
|
||||
#include <mmdeviceapi.h>
|
||||
#include <combaseapi.h>
|
||||
#include <initguid.h>
|
||||
#include <Propidl.h>
|
||||
#include <functiondiscoverykeys_devpkey.h>
|
||||
//#include <debugapi.h>
|
||||
|
||||
#include <endpointvolume.h>
|
||||
#include <audiopolicy.h>
|
||||
#include <audioclient.h>
|
||||
//#include <comdef.h>
|
||||
//#include <comip.h>
|
||||
#include <Winerror.h>
|
||||
#include <stringapiset.h>
|
||||
#include "ipolicyconfig.h"
|
||||
#include <Mmreg.h>
|
||||
|
||||
#include "msinclude.h"
|
||||
#include "backsessionclasses.h"
|
||||
#include "global.h"
|
||||
#include "contclasses.h"
|
||||
|
||||
class EndpointVolumeCallback;
|
||||
class Session;
|
||||
|
||||
class Endpoint {
|
||||
|
||||
|
|
@ -53,15 +32,25 @@ class Endpoint {
|
|||
Flows getFlow();
|
||||
std::wstring getId();
|
||||
std::wstring getName();
|
||||
|
||||
|
||||
void setVolumeCallback(EndpointVolumeCallback *epc);
|
||||
void removeVolumeCallback(EndpointVolumeCallback *epc);
|
||||
|
||||
/* sessions */
|
||||
std::vector<Session*> getSessions();
|
||||
size_t getSessionCount();
|
||||
|
||||
~Endpoint();
|
||||
|
||||
private:
|
||||
void inline activateEndpointVolume();
|
||||
|
||||
void inline activateEndpointSessions();
|
||||
|
||||
std::vector<Session*> endpointSessions;
|
||||
uint32_t channelCount = 0;
|
||||
IMMDevice* endpoint;
|
||||
IAudioSessionManager2 *sessionManager;
|
||||
Flows flow;
|
||||
IAudioEndpointVolume *endpointVolume = nullptr;
|
||||
IPropertyStore *properties;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue