mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-16 02:44:51 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77c3a519e7 | ||
|
|
9fea0949bd |
@@ -100,7 +100,6 @@ class OmniPlayer(
|
|||||||
.setRemotePlayer(remote)
|
.setRemotePlayer(remote)
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
eventMap.player = active
|
|
||||||
active
|
active
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,13 +226,15 @@ class OmniPlayer(
|
|||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setVideoView(surfaceView: android.view.SurfaceView?) {
|
fun setVideoView(surfaceView: android.view.SurfaceView) {
|
||||||
runOnMainThread {
|
runOnMainThread {
|
||||||
if (surfaceView == null) {
|
localPlayer.setVideoSurfaceView(surfaceView)
|
||||||
localPlayer.clearVideoSurface()
|
}
|
||||||
} else {
|
}
|
||||||
localPlayer.setVideoSurfaceView(surfaceView)
|
|
||||||
}
|
fun clearVideoView(surfaceView: android.view.SurfaceView) {
|
||||||
|
runOnMainThread {
|
||||||
|
localPlayer.clearVideoSurfaceView(surfaceView)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -335,6 +336,10 @@ class OmniPlayer(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init {
|
||||||
|
runOnMainThreadSync { eventMap.player = player }
|
||||||
|
}
|
||||||
|
|
||||||
override var source: Source? = null
|
override var source: Source? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
|
|||||||
@@ -154,15 +154,11 @@ class OmniView(val context: ThemedReactContext) :
|
|||||||
val curPip = activeView.get()
|
val curPip = activeView.get()
|
||||||
when {
|
when {
|
||||||
autoPip == true && curPip == this -> {}
|
autoPip == true && curPip == this -> {}
|
||||||
autoPip == true && curPip == null -> {
|
autoPip == true -> {
|
||||||
activeView = WeakReference(this)
|
activeView = WeakReference(this)
|
||||||
updatePictureInPictureParams()
|
updatePictureInPictureParams()
|
||||||
}
|
}
|
||||||
|
|
||||||
autoPip == true -> {
|
|
||||||
throw Error("Only one OmniView can have `autoPip` set at a time.")
|
|
||||||
}
|
|
||||||
|
|
||||||
autoPip == false && curPip == this -> {
|
autoPip == false && curPip == this -> {
|
||||||
activeView = WeakReference(null)
|
activeView = WeakReference(null)
|
||||||
clearPictureInPictureParams()
|
clearPictureInPictureParams()
|
||||||
@@ -180,7 +176,7 @@ class OmniView(val context: ThemedReactContext) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
boundPlayer?.localPlayer?.removeListener(this)
|
boundPlayer?.localPlayer?.removeListener(this)
|
||||||
boundPlayer?.setVideoView(null)
|
boundPlayer?.clearVideoView(surfaceView)
|
||||||
boundPlayer = omniPlayer
|
boundPlayer = omniPlayer
|
||||||
omniPlayer.localPlayer.addListener(this)
|
omniPlayer.localPlayer.addListener(this)
|
||||||
|
|
||||||
@@ -206,7 +202,7 @@ class OmniView(val context: ThemedReactContext) :
|
|||||||
|
|
||||||
val omniPlayer = player as? OmniPlayer ?: return
|
val omniPlayer = player as? OmniPlayer ?: return
|
||||||
boundPlayer?.localPlayer?.removeListener(this)
|
boundPlayer?.localPlayer?.removeListener(this)
|
||||||
omniPlayer.setVideoView(null)
|
omniPlayer.clearVideoView(surfaceView)
|
||||||
boundPlayer = null
|
boundPlayer = null
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -414,6 +410,6 @@ class OmniView(val context: ThemedReactContext) :
|
|||||||
override fun surfaceDestroyed(holder: SurfaceHolder) {
|
override fun surfaceDestroyed(holder: SurfaceHolder) {
|
||||||
surfaceReady = false
|
surfaceReady = false
|
||||||
surfaceView.removeCallbacks(rebuildRunnable)
|
surfaceView.removeCallbacks(rebuildRunnable)
|
||||||
boundPlayer?.setVideoView(null)
|
boundPlayer?.clearVideoView(surfaceView)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -894,6 +894,7 @@ class VlcPlayer(ctx: Context) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun clearVideoSurfaceView(surfaceView: SurfaceView?) {
|
override fun clearVideoSurfaceView(surfaceView: SurfaceView?) {
|
||||||
|
if (surfaceView != null && boundSurfaceView !== surfaceView) return
|
||||||
clearVideoSurface()
|
clearVideoSurface()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user