RemoteMediaEngineConfigurationFactory.h [plain text]
#pragma once
#if ENABLE(GPU_PROCESS)
#include "RemoteLegacyCDMIdentifier.h"
#include "RemoteLegacyCDMSessionIdentifier.h"
#include "WebProcessSupplement.h"
#include <WebCore/MediaEngineConfigurationFactory.h>
#include <wtf/HashMap.h>
#include <wtf/WeakPtr.h>
namespace IPC {
class Connection;
class Decoder;
}
namespace WebKit {
class GPUProcessConnection;
class WebProcess;
class RemoteMediaEngineConfigurationFactory final
: public WebProcessSupplement
, public CanMakeWeakPtr<RemoteMediaEngineConfigurationFactory> {
WTF_MAKE_FAST_ALLOCATED;
public:
explicit RemoteMediaEngineConfigurationFactory(WebProcess&);
virtual ~RemoteMediaEngineConfigurationFactory();
void registerFactory();
static const char* supplementName();
WebProcess& process() const { return m_process; }
GPUProcessConnection& gpuProcessConnection();
void didReceiveSessionMessage(IPC::Connection&, IPC::Decoder&);
private:
void createDecodingConfiguration(WebCore::MediaDecodingConfiguration&&, WebCore::MediaEngineConfigurationFactory::DecodingConfigurationCallback&&);
void createEncodingConfiguration(WebCore::MediaEncodingConfiguration&&, WebCore::MediaEngineConfigurationFactory::EncodingConfigurationCallback&&);
WebProcess& m_process;
};
}
#endif