mirror of
https://github.com/moonlight-stream/moonlight-chrome.git
synced 2025-08-17 16:46:31 +00:00
Merge branch 'master' into nacl_pairing
This commit is contained in:
commit
5d17ee2bae
@ -30,7 +30,7 @@ void MoonlightInstance::DidLockMouse(int32_t result) {
|
|||||||
if (m_MouseLocked) {
|
if (m_MouseLocked) {
|
||||||
// Request an IDR frame to dump the frame queue that may have
|
// Request an IDR frame to dump the frame queue that may have
|
||||||
// built up from the GL pipeline being stalled.
|
// built up from the GL pipeline being stalled.
|
||||||
g_Instance->m_RequestIdrFrame = true;
|
m_RequestIdrFrame = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) {
|
|||||||
case PP_INPUTEVENT_TYPE_MOUSEDOWN: {
|
case PP_INPUTEVENT_TYPE_MOUSEDOWN: {
|
||||||
// Lock the mouse cursor when the user clicks on the stream
|
// Lock the mouse cursor when the user clicks on the stream
|
||||||
if (!m_MouseLocked) {
|
if (!m_MouseLocked) {
|
||||||
g_Instance->LockMouse(g_Instance->m_CallbackFactory.NewCallback(&MoonlightInstance::DidLockMouse));
|
LockMouse(m_CallbackFactory.NewCallback(&MoonlightInstance::DidLockMouse));
|
||||||
|
|
||||||
// Assume it worked until we get a callback telling us otherwise
|
// Assume it worked until we get a callback telling us otherwise
|
||||||
m_MouseLocked = true;
|
m_MouseLocked = true;
|
||||||
@ -173,7 +173,7 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) {
|
|||||||
|
|
||||||
// Check if all modifiers are up now
|
// Check if all modifiers are up now
|
||||||
if (m_WaitingForAllModifiersUp && m_KeyModifiers == 0) {
|
if (m_WaitingForAllModifiersUp && m_KeyModifiers == 0) {
|
||||||
g_Instance->UnlockMouse();
|
UnlockMouse();
|
||||||
m_MouseLocked = false;
|
m_MouseLocked = false;
|
||||||
m_WaitingForAllModifiersUp = false;
|
m_WaitingForAllModifiersUp = false;
|
||||||
}
|
}
|
||||||
|
19
main.cpp
19
main.cpp
@ -35,29 +35,30 @@ class MoonlightModule : public pp::Module {
|
|||||||
void MoonlightInstance::OnConnectionStarted(uint32_t unused) {
|
void MoonlightInstance::OnConnectionStarted(uint32_t unused) {
|
||||||
// Tell the front end
|
// Tell the front end
|
||||||
pp::Var response("Connection Established");
|
pp::Var response("Connection Established");
|
||||||
g_Instance->PostMessage(response);
|
PostMessage(response);
|
||||||
|
|
||||||
// Start receiving input events
|
// Start receiving input events
|
||||||
g_Instance->RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE);
|
RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE);
|
||||||
g_Instance->RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
|
RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::OnConnectionStopped(uint32_t error) {
|
void MoonlightInstance::OnConnectionStopped(uint32_t error) {
|
||||||
// Not running anymore
|
// Not running anymore
|
||||||
g_Instance->m_Running = false;
|
m_Running = false;
|
||||||
|
|
||||||
// Stop receiving input events
|
// Stop receiving input events
|
||||||
g_Instance->ClearInputEventRequest(PP_INPUTEVENT_CLASS_MOUSE | PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
|
ClearInputEventRequest(PP_INPUTEVENT_CLASS_MOUSE | PP_INPUTEVENT_CLASS_WHEEL | PP_INPUTEVENT_CLASS_KEYBOARD);
|
||||||
|
|
||||||
// Unlock the mouse
|
// Unlock the mouse
|
||||||
g_Instance->UnlockMouse();
|
UnlockMouse();
|
||||||
|
|
||||||
// Join threads
|
// Join threads
|
||||||
pthread_join(g_Instance->m_ConnectionThread, NULL);
|
pthread_join(m_ConnectionThread, NULL);
|
||||||
pthread_join(g_Instance->m_GamepadThread, NULL);
|
pthread_join(m_GamepadThread, NULL);
|
||||||
|
|
||||||
// Notify the JS code that the stream has ended
|
// Notify the JS code that the stream has ended
|
||||||
pp::Var response(MSG_STREAM_TERMINATED);
|
pp::Var response(MSG_STREAM_TERMINATED);
|
||||||
g_Instance->PostMessage(response);
|
PostMessage(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::StopConnection() {
|
void MoonlightInstance::StopConnection() {
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit e1473d7a2d813135b148de5f20ed12919631b6a7
|
Subproject commit c44cdffdd56ff7167b993fdbd21c02592b28879b
|
@ -107,7 +107,7 @@ class MoonlightInstance : public pp::Instance, public pp::MouseLock {
|
|||||||
void PaintPicture(void);
|
void PaintPicture(void);
|
||||||
void InitializeRenderingSurface(int width, int height);
|
void InitializeRenderingSurface(int width, int height);
|
||||||
|
|
||||||
static void VidDecSetup(int width, int height, int redrawRate, void* context, int drFlags);
|
static void 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);
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ void MoonlightInstance::InitializeRenderingSurface(int width, int height) {
|
|||||||
g_Instance->m_Graphics3D.SwapBuffers(pp::BlockUntilComplete());
|
g_Instance->m_Graphics3D.SwapBuffers(pp::BlockUntilComplete());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoonlightInstance::VidDecSetup(int width, int height, int redrawRate, void* context, int drFlags) {
|
void 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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user