Updated to latest defoldsdk

This commit is contained in:
Mathias Westerdahl 2017-03-16 19:56:38 +01:00
parent 3f93b226d6
commit 31b5245cf2
2 changed files with 7 additions and 3 deletions

View File

@ -48,7 +48,8 @@ static int StartCapture(lua_State* L)
} }
// Increase ref count // Increase ref count
dmScript::PushBuffer(L, g_DefoldCamera.m_VideoBuffer); dmScript::LuaHBuffer luabuffer = {g_DefoldCamera.m_VideoBuffer, false};
dmScript::PushBuffer(L, luabuffer);
g_DefoldCamera.m_VideoBufferLuaRef = dmScript::Ref(L, LUA_REGISTRYINDEX); g_DefoldCamera.m_VideoBufferLuaRef = dmScript::Ref(L, LUA_REGISTRYINDEX);
return 1; return 1;
@ -61,7 +62,7 @@ static int StopCapture(lua_State* L)
int status = CameraPlatform_StopCapture(); int status = CameraPlatform_StopCapture();
if( !status ) if( !status )
{ {
luaL_error(L, "Failed to stop capture. Was it started?"); return luaL_error(L, "Failed to stop capture. Was it started?");
} }
dmScript::Unref(L, LUA_REGISTRYINDEX, g_DefoldCamera.m_VideoBufferLuaRef); // We want it destroyed by the GC dmScript::Unref(L, LUA_REGISTRYINDEX, g_DefoldCamera.m_VideoBufferLuaRef); // We want it destroyed by the GC

View File

@ -377,7 +377,7 @@ int CameraPlatform_StartCapture(dmBuffer::HBuffer* buffer, CameraType type, Capt
{dmHashString64("rgb"), dmBuffer::VALUE_TYPE_UINT8, 3} {dmHashString64("rgb"), dmBuffer::VALUE_TYPE_UINT8, 3}
}; };
dmBuffer::Allocate(size, streams_decl, 1, buffer); dmBuffer::Create(size, streams_decl, 1, buffer);
g_Camera.m_VideoBuffer = *buffer; g_Camera.m_VideoBuffer = *buffer;
@ -390,6 +390,9 @@ int CameraPlatform_StopCapture()
{ {
[g_Camera.m_Delegate stopCamera]; [g_Camera.m_Delegate stopCamera];
[g_Camera.m_Delegate release]; [g_Camera.m_Delegate release];
dmBuffer::Destroy(g_Camera.m_VideoBuffer);
g_Camera.m_VideoBuffer = 0;
} }
return 1; return 1;
} }