mirror of
https://github.com/moonlight-stream/moonlight-chrome.git
synced 2025-08-17 08:36:42 +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;
|
||||
|
||||
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
|
||||
g_Instance->m_AudioPlayer.StartPlayback();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MoonlightInstance::AudDecCleanup(void) {
|
||||
@ -83,8 +85,8 @@ void MoonlightInstance::AudDecDecodeAndPlaySample(char* sampleData, int sampleLe
|
||||
}
|
||||
|
||||
AUDIO_RENDERER_CALLBACKS MoonlightInstance::s_ArCallbacks = {
|
||||
MoonlightInstance::AudDecInit,
|
||||
MoonlightInstance::AudDecCleanup,
|
||||
MoonlightInstance::AudDecDecodeAndPlaySample,
|
||||
CAPABILITY_DIRECT_SUBMIT
|
||||
.init = MoonlightInstance::AudDecInit,
|
||||
.cleanup = MoonlightInstance::AudDecCleanup,
|
||||
.decodeAndPlaySample = MoonlightInstance::AudDecDecodeAndPlaySample,
|
||||
.capabilities = CAPABILITY_DIRECT_SUBMIT
|
||||
};
|
@ -39,11 +39,10 @@ void MoonlightInstance::ClDisplayTransientMessage(const char* message) {
|
||||
}
|
||||
|
||||
CONNECTION_LISTENER_CALLBACKS MoonlightInstance::s_ClCallbacks = {
|
||||
MoonlightInstance::ClStageStarting,
|
||||
NULL,
|
||||
MoonlightInstance::ClStageFailed,
|
||||
MoonlightInstance::ClConnectionStarted,
|
||||
MoonlightInstance::ClConnectionTerminated,
|
||||
MoonlightInstance::ClDisplayMessage,
|
||||
MoonlightInstance::ClDisplayTransientMessage
|
||||
.stageStarting = MoonlightInstance::ClStageStarting,
|
||||
.stageFailed = MoonlightInstance::ClStageFailed,
|
||||
.connectionStarted = MoonlightInstance::ClConnectionStarted,
|
||||
.connectionTerminated = MoonlightInstance::ClConnectionTerminated,
|
||||
.displayMessage = MoonlightInstance::ClDisplayMessage,
|
||||
.displayTransientMessage = 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);
|
||||
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 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 AudDecDecodeAndPlaySample(char* sampleData, int sampleLength);
|
||||
|
||||
|
14
viddec.cpp
14
viddec.cpp
@ -137,7 +137,7 @@ bool MoonlightInstance::InitializeRenderingSurface(int width, int height) {
|
||||
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);
|
||||
|
||||
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.
|
||||
ClDisplayMessage("No hardware or software H.264 decoders available!");
|
||||
g_Instance->StopConnection();
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
else if (!(drFlags & DR_FLAG_FORCE_SW_DECODE)) {
|
||||
// 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,
|
||||
g_Instance->m_CallbackFactory.NewCallback(&MoonlightInstance::DispatchGetPicture));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
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 = {
|
||||
MoonlightInstance::VidDecSetup,
|
||||
MoonlightInstance::VidDecCleanup,
|
||||
MoonlightInstance::VidDecSubmitDecodeUnit,
|
||||
CAPABILITY_SLICES_PER_FRAME(4)
|
||||
.setup = MoonlightInstance::VidDecSetup,
|
||||
.cleanup = MoonlightInstance::VidDecCleanup,
|
||||
.submitDecodeUnit = MoonlightInstance::VidDecSubmitDecodeUnit,
|
||||
.capabilities = CAPABILITY_SLICES_PER_FRAME(4)
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user