private void Call_UpdateVideoTexture()
{
if( Call_IsUpdateFrame() == false)
return;
if(m_VideoTextureDummy != null)
{
Destroy(m_VideoTextureDummy);
m_VideoTextureDummy = null;
}
for( int i = 0; i < m_TargetMaterial.Length; i++)
{
if(m_TargetMaterial[i])
{
if(m_TargetMaterial[i].GetComponent<MeshRenderer>()!= null)
{
if(m_TargetMaterial[i].GetComponent<MeshRenderer>().material.mainTexture != m_VideoTexture)
{
m_TargetMaterial[i].GetComponent<MeshRenderer>().material.mainTexture = m_VideoTexture;
}
}
if(m_TargetMaterial[i].GetComponent<RawImage>()!= null)
{
if(m_TargetMaterial[i].GetComponent<RawImage>().texture != m_VideoTexture)
{
m_TargetMaterial[i].GetComponent<RawImage>().texture = m_VideoTexture;
}
}
}
}
#if UNITY_5
if( SystemInfo.graphicsMultiThreaded == true)
{
#if UNITY_5_2
GL.IssuePluginEvent(EasyMovieTextureRender(), 3 + m_iAndroidMgrID * 10 + 7000);
#else
GL.IssuePluginEvent(3+ m_iAndroidMgrID * 10 + 7000);
#endif
}
else
{
GetJavaObject().Call("UpdateVideoTexture");
}
#else
GetJavaObject().Call("UpdateVideoTexture");
#endif
if (!m_bIsFirstFrameReady)
{
m_bIsFirstFrameReady = true;
if (OnVideoFirstFrameReady != null)
{
OnVideoFirstFrameReady();
OnVideoFirstFrameReady = null;
}
}
}