#include "libcef_dll/ctocpp/audio_handler_ctocpp.h"
#include "libcef_dll/cpptoc/browser_cpptoc.h"
#include "libcef_dll/shutdown_checker.h"
NO_SANITIZE("cfi-icall")
bool CefAudioHandlerCToCpp::GetAudioParameters(CefRefPtr<CefBrowser> browser,
CefAudioParameters& params) {
shutdown_checker::AssertNotShutdown();
cef_audio_handler_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_audio_parameters))
return false;
DCHECK(browser.get());
if (!browser.get())
return false;
int _retval = _struct->get_audio_parameters(
_struct, CefBrowserCppToC::Wrap(browser), ¶ms);
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
void CefAudioHandlerCToCpp::OnAudioStreamStarted(
CefRefPtr<CefBrowser> browser,
const CefAudioParameters& params,
int channels) {
shutdown_checker::AssertNotShutdown();
cef_audio_handler_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_audio_stream_started))
return;
DCHECK(browser.get());
if (!browser.get())
return;
_struct->on_audio_stream_started(_struct, CefBrowserCppToC::Wrap(browser),
¶ms, channels);
}
NO_SANITIZE("cfi-icall")
void CefAudioHandlerCToCpp::OnAudioStreamPacket(CefRefPtr<CefBrowser> browser,
const float** data,
int frames,
int64 pts) {
shutdown_checker::AssertNotShutdown();
cef_audio_handler_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_audio_stream_packet))
return;
DCHECK(browser.get());
if (!browser.get())
return;
DCHECK(data);
if (!data)
return;
_struct->on_audio_stream_packet(_struct, CefBrowserCppToC::Wrap(browser),
data, frames, pts);
}
NO_SANITIZE("cfi-icall")
void CefAudioHandlerCToCpp::OnAudioStreamStopped(
CefRefPtr<CefBrowser> browser) {
shutdown_checker::AssertNotShutdown();
cef_audio_handler_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_audio_stream_stopped))
return;
DCHECK(browser.get());
if (!browser.get())
return;
_struct->on_audio_stream_stopped(_struct, CefBrowserCppToC::Wrap(browser));
}
NO_SANITIZE("cfi-icall")
void CefAudioHandlerCToCpp::OnAudioStreamError(CefRefPtr<CefBrowser> browser,
const CefString& message) {
shutdown_checker::AssertNotShutdown();
cef_audio_handler_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_audio_stream_error))
return;
DCHECK(browser.get());
if (!browser.get())
return;
DCHECK(!message.empty());
if (message.empty())
return;
_struct->on_audio_stream_error(_struct, CefBrowserCppToC::Wrap(browser),
message.GetStruct());
}
CefAudioHandlerCToCpp::CefAudioHandlerCToCpp() {}
CefAudioHandlerCToCpp::~CefAudioHandlerCToCpp() {
shutdown_checker::AssertNotShutdown();
}
template <>
cef_audio_handler_t*
CefCToCppRefCounted<CefAudioHandlerCToCpp,
CefAudioHandler,
cef_audio_handler_t>::UnwrapDerived(CefWrapperType type,
CefAudioHandler* c) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCToCppRefCounted<CefAudioHandlerCToCpp,
CefAudioHandler,
cef_audio_handler_t>::kWrapperType =
WT_AUDIO_HANDLER;