//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: public void addRenderCallback(@NonNull IRenderCallback callback) public void addRenderCallback(IRenderView_IRenderCallback callback) { mRenderCallbackMap[callback] = callback; IRenderView_ISurfaceHolder surfaceHolder = null; if (mSurfaceTexture != null) { if (surfaceHolder == null) { TextureRenderView texture = null; mWeakRenderView.TryGetTarget(out texture); surfaceHolder = new InternalSurfaceHolder(texture, mSurfaceTexture, this); } callback.onSurfaceCreated(surfaceHolder, mWidth, mHeight); } if (mIsFormatChanged) { if (surfaceHolder == null) { TextureRenderView texture = null; mWeakRenderView.TryGetTarget(out texture); surfaceHolder = new InternalSurfaceHolder(texture, mSurfaceTexture, this); } callback.onSurfaceChanged(surfaceHolder, 0, mWidth, mHeight); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: public void addRenderCallback(@NonNull IRenderCallback callback) public void AddRenderCallback(IRenderView_IRenderCallback callback) { mRenderCallbackMap[callback] = callback; IRenderView_ISurfaceHolder surfaceHolder = null; if (mSurfaceHolder != null) { if (surfaceHolder == null) { SurfaceRenderView t = null; mWeakSurfaceView.TryGetTarget(out t); surfaceHolder = new InternalSurfaceHolder(t, mSurfaceHolder); } callback.onSurfaceCreated(surfaceHolder, mWidth, mHeight); } if (mIsFormatChanged) { if (surfaceHolder == null) { SurfaceRenderView t = null; mWeakSurfaceView.TryGetTarget(out t); surfaceHolder = new InternalSurfaceHolder(t, mSurfaceHolder); } callback.onSurfaceChanged(surfaceHolder, mFormat, mWidth, mHeight); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: public void onSurfaceDestroyed(@NonNull IRenderView.ISurfaceHolder holder) public void onSurfaceDestroyed(IRenderView_ISurfaceHolder holder) { if (holder.RenderView != outerInstance.mRenderView) { Log.Error(outerInstance.TAG, "onSurfaceDestroyed: unmatched render callback\n"); return; } // after we return from this we can't use the surface any more outerInstance.mSurfaceHolder = null; // REMOVED: if (mMediaController != null) mMediaController.hide(); // REMOVED: release(true); outerInstance.releaseWithoutStop(); }
// REMOVED: mSHCallback private void bindSurfaceHolder(IMediaPlayer mp, IRenderView_ISurfaceHolder holder) { if (mp == null) { return; } if (holder == null) { mp.SetDisplay(null); return; } holder.bindToMediaPlayer(mp); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: public void onSurfaceCreated(@NonNull IRenderView.ISurfaceHolder holder, int width, int height) public void onSurfaceCreated(IRenderView_ISurfaceHolder holder, int width, int height) { if (holder.RenderView != outerInstance.mRenderView) { Log.Error(outerInstance.TAG, "onSurfaceCreated: unmatched render callback\n"); return; } outerInstance.mSurfaceHolder = holder; if (outerInstance.mMediaPlayer != null) { outerInstance.bindSurfaceHolder(outerInstance.mMediaPlayer, holder); } else { outerInstance.openVideo(); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: public void onSurfaceChanged(@NonNull IRenderView.ISurfaceHolder holder, int format, int w, int h) public void onSurfaceChanged(IRenderView_ISurfaceHolder holder, int format, int w, int h) { if (holder.RenderView != outerInstance.mRenderView) { Log.Error(outerInstance.TAG, "onSurfaceChanged: unmatched render callback\n"); return; } outerInstance.mSurfaceWidth = w; outerInstance.mSurfaceHeight = h; bool isValidState = (outerInstance.mTargetState == STATE_PLAYING); bool hasValidSize = !outerInstance.mRenderView.shouldWaitForResize() || (outerInstance.mVideoWidth == w && outerInstance.mVideoHeight == h); if (outerInstance.mMediaPlayer != null && isValidState && hasValidSize) { if (outerInstance.mSeekWhenPrepared != 0) { outerInstance.SeekTo((int)outerInstance.mSeekWhenPrepared); } outerInstance.Start(); } }