mirror of
https://github.com/moonlight-stream/moonlight-chrome.git
synced 2025-08-17 16:46:31 +00:00
Update moonlight-common-c with latest bugfixes
This commit is contained in:
parent
326b7d6aed
commit
cae6b4a566
12
auddec.cpp
12
auddec.cpp
@ -34,7 +34,7 @@ static void AudioPlayerSampleCallback(void* samples, uint32_t buffer_size, void*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::AudDecInit(int audioConfiguration, POPUS_MULTISTREAM_CONFIGURATION opusConfig) {
|
int MoonlightInstance::AudDecInit(int audioConfiguration, POPUS_MULTISTREAM_CONFIGURATION opusConfig) {
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
g_Instance->m_OpusDecoder = opus_multistream_decoder_create(opusConfig->sampleRate,
|
g_Instance->m_OpusDecoder = opus_multistream_decoder_create(opusConfig->sampleRate,
|
||||||
@ -49,6 +49,8 @@ void MoonlightInstance::AudDecInit(int audioConfiguration, POPUS_MULTISTREAM_CON
|
|||||||
|
|
||||||
// Start playback now
|
// Start playback now
|
||||||
g_Instance->m_AudioPlayer.StartPlayback();
|
g_Instance->m_AudioPlayer.StartPlayback();
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::AudDecCleanup(void) {
|
void MoonlightInstance::AudDecCleanup(void) {
|
||||||
@ -83,8 +85,8 @@ void MoonlightInstance::AudDecDecodeAndPlaySample(char* sampleData, int sampleLe
|
|||||||
}
|
}
|
||||||
|
|
||||||
AUDIO_RENDERER_CALLBACKS MoonlightInstance::s_ArCallbacks = {
|
AUDIO_RENDERER_CALLBACKS MoonlightInstance::s_ArCallbacks = {
|
||||||
MoonlightInstance::AudDecInit,
|
.init = MoonlightInstance::AudDecInit,
|
||||||
MoonlightInstance::AudDecCleanup,
|
.cleanup = MoonlightInstance::AudDecCleanup,
|
||||||
MoonlightInstance::AudDecDecodeAndPlaySample,
|
.decodeAndPlaySample = MoonlightInstance::AudDecDecodeAndPlaySample,
|
||||||
CAPABILITY_DIRECT_SUBMIT
|
.capabilities = CAPABILITY_DIRECT_SUBMIT
|
||||||
};
|
};
|
@ -39,11 +39,10 @@ void MoonlightInstance::ClDisplayTransientMessage(const char* message) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CONNECTION_LISTENER_CALLBACKS MoonlightInstance::s_ClCallbacks = {
|
CONNECTION_LISTENER_CALLBACKS MoonlightInstance::s_ClCallbacks = {
|
||||||
MoonlightInstance::ClStageStarting,
|
.stageStarting = MoonlightInstance::ClStageStarting,
|
||||||
NULL,
|
.stageFailed = MoonlightInstance::ClStageFailed,
|
||||||
MoonlightInstance::ClStageFailed,
|
.connectionStarted = MoonlightInstance::ClConnectionStarted,
|
||||||
MoonlightInstance::ClConnectionStarted,
|
.connectionTerminated = MoonlightInstance::ClConnectionTerminated,
|
||||||
MoonlightInstance::ClConnectionTerminated,
|
.displayMessage = MoonlightInstance::ClDisplayMessage,
|
||||||
MoonlightInstance::ClDisplayMessage,
|
.displayTransientMessage = MoonlightInstance::ClDisplayTransientMessage
|
||||||
MoonlightInstance::ClDisplayTransientMessage
|
|
||||||
};
|
};
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 20821e7eb67000b76180e77a735a37abe6b66736
|
Subproject commit c01deff683d9192a71f851815dbea4bba14e4f04
|
@ -125,11 +125,11 @@ class MoonlightInstance : public pp::Instance, public pp::MouseLock {
|
|||||||
bool InitializeRenderingSurface(int width, int height);
|
bool InitializeRenderingSurface(int width, int height);
|
||||||
void DidChangeFocus(bool got_focus);
|
void DidChangeFocus(bool got_focus);
|
||||||
|
|
||||||
static void VidDecSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags);
|
static int VidDecSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags);
|
||||||
static void VidDecCleanup(void);
|
static void VidDecCleanup(void);
|
||||||
static int VidDecSubmitDecodeUnit(PDECODE_UNIT decodeUnit);
|
static int VidDecSubmitDecodeUnit(PDECODE_UNIT decodeUnit);
|
||||||
|
|
||||||
static void AudDecInit(int audioConfiguration, POPUS_MULTISTREAM_CONFIGURATION opusConfig);
|
static int AudDecInit(int audioConfiguration, POPUS_MULTISTREAM_CONFIGURATION opusConfig);
|
||||||
static void AudDecCleanup(void);
|
static void AudDecCleanup(void);
|
||||||
static void AudDecDecodeAndPlaySample(char* sampleData, int sampleLength);
|
static void AudDecDecodeAndPlaySample(char* sampleData, int sampleLength);
|
||||||
|
|
||||||
|
14
viddec.cpp
14
viddec.cpp
@ -137,7 +137,7 @@ bool MoonlightInstance::InitializeRenderingSurface(int width, int height) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::VidDecSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags) {
|
int MoonlightInstance::VidDecSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags) {
|
||||||
g_Instance->m_VideoDecoder = new pp::VideoDecoder(g_Instance);
|
g_Instance->m_VideoDecoder = new pp::VideoDecoder(g_Instance);
|
||||||
|
|
||||||
s_DecodeBufferLength = INITIAL_DECODE_BUFFER_LEN;
|
s_DecodeBufferLength = INITIAL_DECODE_BUFFER_LEN;
|
||||||
@ -176,7 +176,7 @@ void MoonlightInstance::VidDecSetup(int videoFormat, int width, int height, int
|
|||||||
// No decoders available at all. We can't continue.
|
// No decoders available at all. We can't continue.
|
||||||
ClDisplayMessage("No hardware or software H.264 decoders available!");
|
ClDisplayMessage("No hardware or software H.264 decoders available!");
|
||||||
g_Instance->StopConnection();
|
g_Instance->StopConnection();
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
else if (!(drFlags & DR_FLAG_FORCE_SW_DECODE)) {
|
else if (!(drFlags & DR_FLAG_FORCE_SW_DECODE)) {
|
||||||
// Tell the user we had to fall back
|
// Tell the user we had to fall back
|
||||||
@ -186,6 +186,8 @@ void MoonlightInstance::VidDecSetup(int videoFormat, int width, int height, int
|
|||||||
|
|
||||||
pp::Module::Get()->core()->CallOnMainThread(0,
|
pp::Module::Get()->core()->CallOnMainThread(0,
|
||||||
g_Instance->m_CallbackFactory.NewCallback(&MoonlightInstance::DispatchGetPicture));
|
g_Instance->m_CallbackFactory.NewCallback(&MoonlightInstance::DispatchGetPicture));
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::DispatchGetPicture(uint32_t unused) {
|
void MoonlightInstance::DispatchGetPicture(uint32_t unused) {
|
||||||
@ -485,8 +487,8 @@ void MoonlightInstance::PictureReady(int32_t result, PP_VideoPicture picture) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DECODER_RENDERER_CALLBACKS MoonlightInstance::s_DrCallbacks = {
|
DECODER_RENDERER_CALLBACKS MoonlightInstance::s_DrCallbacks = {
|
||||||
MoonlightInstance::VidDecSetup,
|
.setup = MoonlightInstance::VidDecSetup,
|
||||||
MoonlightInstance::VidDecCleanup,
|
.cleanup = MoonlightInstance::VidDecCleanup,
|
||||||
MoonlightInstance::VidDecSubmitDecodeUnit,
|
.submitDecodeUnit = MoonlightInstance::VidDecSubmitDecodeUnit,
|
||||||
CAPABILITY_SLICES_PER_FRAME(4)
|
.capabilities = CAPABILITY_SLICES_PER_FRAME(4)
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user