expo-libvlc-player 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  apply plugin: 'com.android.library'
2
2
 
3
3
  group = 'expo.modules.libvlcplayer'
4
- version = '0.1.25'
4
+ version = '0.1.27'
5
5
 
6
6
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
7
7
  apply from: expoModulesCorePlugin
@@ -27,7 +27,7 @@ android {
27
27
  namespace "expo.modules.libvlcplayer"
28
28
  defaultConfig {
29
29
  versionCode 1
30
- versionName "0.1.25"
30
+ versionName "0.1.27"
31
31
  consumerProguardFiles("proguard-rules.pro")
32
32
  }
33
33
  lintOptions {
@@ -23,7 +23,6 @@ class AudioFocusManager(
23
23
  }
24
24
 
25
25
  private var currentFocusRequest: AudioFocusRequest? = null
26
- private var currentMixingMode: AudioMixingMode = AudioMixingMode.MIX_WITH_OTHERS
27
26
  private val anyPlayerRequiresFocus: Boolean
28
27
  get() =
29
28
  views.toList().any { weakView ->
@@ -44,7 +43,7 @@ class AudioFocusManager(
44
43
  }
45
44
 
46
45
  if (mixingModes.isEmpty()) {
47
- return AudioMixingMode.MIX_WITH_OTHERS
46
+ return AudioMixingMode.AUTO
48
47
  }
49
48
 
50
49
  return mixingModes.reduce { currentAudioMixingMode, next ->
@@ -57,15 +56,13 @@ class AudioFocusManager(
57
56
 
58
57
  if (audioMixingMode == AudioMixingMode.MIX_WITH_OTHERS || !anyPlayerRequiresFocus) {
59
58
  abandonAudioFocus()
60
- currentMixingMode = audioMixingMode
61
59
  return
62
60
  }
63
61
 
64
62
  val audioFocusType =
65
- when (currentMixingMode) {
63
+ when (audioMixingMode) {
66
64
  AudioMixingMode.DUCK_OTHERS -> AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
67
- AudioMixingMode.AUTO -> AudioManager.AUDIOFOCUS_GAIN
68
- AudioMixingMode.DO_NOT_MIX -> AudioManager.AUDIOFOCUS_GAIN
65
+ AudioMixingMode.AUTO, AudioMixingMode.DO_NOT_MIX -> AudioManager.AUDIOFOCUS_GAIN
69
66
  else -> AudioManager.AUDIOFOCUS_GAIN
70
67
  }
71
68
 
@@ -94,8 +91,6 @@ class AudioFocusManager(
94
91
  @Suppress("DEPRECATION")
95
92
  audioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC, audioFocusType)
96
93
  }
97
-
98
- currentMixingMode = audioMixingMode
99
94
  }
100
95
 
101
96
  private fun abandonAudioFocus() {
@@ -112,7 +107,7 @@ class AudioFocusManager(
112
107
  }
113
108
 
114
109
  fun updateAudioFocus() {
115
- if (anyPlayerRequiresFocus || findAudioMixingMode() != currentMixingMode) {
110
+ if (anyPlayerRequiresFocus) {
116
111
  requestAudioFocus()
117
112
  } else {
118
113
  abandonAudioFocus()
@@ -157,11 +152,9 @@ class AudioFocusManager(
157
152
  if (audioMixingMode == AudioMixingMode.DO_NOT_MIX) {
158
153
  pausePlayerIfUnmuted(player)
159
154
  } else {
160
- appContext.mainQueue.launch {
161
- val volume = player.getVolume() / 20
162
- view.userVolume = volume
163
- player.setVolume(volume)
164
- }
155
+ val volume = player.getVolume() / 20
156
+ view.userVolume = volume
157
+ player.setVolume(volume)
165
158
  }
166
159
  }
167
160
  }
@@ -175,9 +168,7 @@ class AudioFocusManager(
175
168
  weakView.get()?.let { view ->
176
169
  view.mediaPlayer?.let { player ->
177
170
  if (player.getVolume() > MIN_PLAYER_VOLUME) {
178
- appContext.mainQueue.launch {
179
- player.setVolume(view.userVolume)
180
- }
171
+ player.setVolume(view.userVolume)
181
172
  }
182
173
  }
183
174
  }
@@ -190,9 +181,7 @@ class AudioFocusManager(
190
181
  private fun pausePlayerIfUnmuted(player: MediaPlayer?) {
191
182
  player?.let { mediaPlayer ->
192
183
  if (mediaPlayer.getVolume() > MIN_PLAYER_VOLUME) {
193
- appContext.mainQueue.launch {
194
- mediaPlayer.pause()
195
- }
184
+ mediaPlayer.pause()
196
185
  }
197
186
  }
198
187
  }
@@ -14,7 +14,7 @@ fun LibVlcPlayerView.setMediaListener() {
14
14
 
15
15
  val audios = player.getAudioTracks()
16
16
 
17
- audios.forEach { track ->
17
+ audios?.forEach { track ->
18
18
  val trackMap = Arguments.createMap()
19
19
  trackMap.putInt("id", track.id)
20
20
  trackMap.putString("name", track.name)
@@ -25,7 +25,7 @@ fun LibVlcPlayerView.setMediaListener() {
25
25
 
26
26
  val videos = player.getVideoTracks()
27
27
 
28
- videos.forEach { track ->
28
+ videos?.forEach { track ->
29
29
  val trackMap = Arguments.createMap()
30
30
  trackMap.putInt("id", track.id)
31
31
  trackMap.putString("name", track.name)
@@ -36,7 +36,7 @@ fun LibVlcPlayerView.setMediaListener() {
36
36
 
37
37
  val subtitles = player.getSpuTracks()
38
38
 
39
- subtitles.forEach { track ->
39
+ subtitles?.forEach { track ->
40
40
  val trackMap = Arguments.createMap()
41
41
  trackMap.putInt("id", track.id)
42
42
  trackMap.putString("name", track.name)
@@ -4,10 +4,10 @@ import Foundation
4
4
  import MobileVLCKit
5
5
 
6
6
  class MediaPlayerManager {
7
- static var shared = MediaPlayerManager()
7
+ static let shared = MediaPlayerManager()
8
8
 
9
- private static var managerQueue = DispatchQueue(label: "com.expo.libvlcplayer.manager.managerQueue")
10
- private var views = NSHashTable<LibVlcPlayerView>.weakObjects()
9
+ private static let managerQueue = DispatchQueue(label: "com.expo.libvlcplayer.manager.managerQueue")
10
+ private let views = NSHashTable<LibVlcPlayerView>.weakObjects()
11
11
 
12
12
  func registerView(view: LibVlcPlayerView) {
13
13
  views.add(view)
@@ -15,9 +15,9 @@ class MediaPlayerManager {
15
15
  }
16
16
 
17
17
  func unregisterView(view: LibVlcPlayerView) {
18
- view.destroyPlayer()
19
18
  views.remove(view)
20
19
  setAppropriateAudioSessionOrWarn()
20
+ view.destroyPlayer()
21
21
  }
22
22
 
23
23
  func onAppForegrounded() {
@@ -114,14 +114,10 @@ class MediaPlayerManager {
114
114
 
115
115
  private func findAudioMixingMode() -> AudioMixingMode? {
116
116
  let playingViews = views.allObjects.filter { view in
117
- if let isPlaying = view.mediaPlayer?.isPlaying, isPlaying {
118
- return true
119
- }
120
-
121
- return false
117
+ view.mediaPlayer?.isPlaying == true
122
118
  }
123
119
 
124
- var audioMixingMode: AudioMixingMode = .mixWithOthers
120
+ var audioMixingMode: AudioMixingMode = .auto
125
121
 
126
122
  if playingViews.isEmpty {
127
123
  return nil
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-libvlc-player",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "LibVLC Player for Expo",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",