expo-libvlc-player 1.0.2 → 1.0.4

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 = "1.0.2"
4
+ version = "1.0.4"
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 "1.0.2"
30
+ versionName "1.0.4"
31
31
  consumerProguardFiles("proguard-rules.pro")
32
32
  }
33
33
  lintOptions {
@@ -43,7 +43,7 @@ class LibVlcPlayerView(
43
43
 
44
44
  internal var mediaLength: Long = 0L
45
45
  internal var userVolume: Int = MAX_PLAYER_VOLUME
46
- internal var firstPlay: Boolean = true
46
+ internal var firstPlay: Boolean = false
47
47
 
48
48
  internal val onBuffering by EventDispatcher()
49
49
  internal val onPlaying by EventDispatcher()
@@ -117,7 +117,7 @@ class LibVlcPlayerView(
117
117
  removeAllViews()
118
118
  }
119
119
 
120
- fun setupMediaInfo() {
120
+ fun setFirstPlay() {
121
121
  var mediaInfo = MediaInfo()
122
122
 
123
123
  mediaPlayer?.let { player ->
@@ -174,12 +174,14 @@ class LibVlcPlayerView(
174
174
  }
175
175
 
176
176
  onFirstPlay(mediaInfo)
177
+
178
+ firstPlay = false
177
179
  }
178
180
 
179
181
  fun setupPlayer() {
180
182
  mediaPlayer?.let { player ->
181
183
  attachPlayer()
182
- setupMediaInfo()
184
+ setFirstPlay()
183
185
  setPlayerTracks()
184
186
 
185
187
  if (volume != MAX_PLAYER_VOLUME || mute) {
@@ -210,7 +212,6 @@ class LibVlcPlayerView(
210
212
  }
211
213
 
212
214
  time = DEFAULT_PLAYER_TIME
213
- firstPlay = false
214
215
  }
215
216
  }
216
217
 
@@ -301,26 +302,30 @@ class LibVlcPlayerView(
301
302
  onEncounteredError(error)
302
303
  }
303
304
 
304
- val volume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
305
- userVolume = volume
305
+ val newVolume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
306
+ userVolume = newVolume
306
307
 
307
- mediaPlayer?.setVolume(volume)
308
+ mediaPlayer?.let { player ->
309
+ if (player.getVolume() > MIN_PLAYER_VOLUME) {
310
+ player.setVolume(newVolume)
311
+ }
312
+ }
308
313
 
309
314
  field = value
310
315
  }
311
316
 
312
317
  var mute: Boolean = false
313
318
  set(value) {
314
- if (options.hasAudioOption()) {
319
+ if (!value && options.hasAudioOption()) {
315
320
  val error = mapOf("error" to "Audio disabled via options")
316
321
  onEncounteredError(error)
317
322
  }
318
323
 
319
324
  val newVolume =
320
- if (!value) {
321
- userVolume.coerceIn(PLAYER_VOLUME_STEP, MAX_PLAYER_VOLUME)
322
- } else {
325
+ if (value) {
323
326
  MIN_PLAYER_VOLUME
327
+ } else {
328
+ userVolume
324
329
  }
325
330
 
326
331
  mediaPlayer?.setVolume(newVolume)
@@ -18,7 +18,7 @@ class LibVlcPlayerView: ExpoView {
18
18
 
19
19
  var mediaLength: Int32 = 0
20
20
  private var userVolume: Int = maxPlayerVolume
21
- var firstPlay: Bool = true
21
+ var firstPlay: Bool = false
22
22
 
23
23
  let onBuffering = EventDispatcher()
24
24
  let onPlaying = EventDispatcher()
@@ -77,7 +77,7 @@ class LibVlcPlayerView: ExpoView {
77
77
  firstPlay = true
78
78
  }
79
79
 
80
- func setupMediaInfo() {
80
+ func setFirstPlay() {
81
81
  var mediaInfo = MediaInfo()
82
82
 
83
83
  if let player = mediaPlayer {
@@ -138,12 +138,14 @@ class LibVlcPlayerView: ExpoView {
138
138
  }
139
139
 
140
140
  onFirstPlay(mediaInfo)
141
+
142
+ firstPlay = false
141
143
  }
142
144
 
143
145
  func setupPlayer() {
144
146
  guard let player = mediaPlayer else { return }
145
147
 
146
- setupMediaInfo()
148
+ setFirstPlay()
147
149
  setPlayerTracks()
148
150
 
149
151
  if volume != maxPlayerVolume || mute {
@@ -173,7 +175,6 @@ class LibVlcPlayerView: ExpoView {
173
175
  }
174
176
 
175
177
  time = defaultPlayerTime
176
- firstPlay = false
177
178
  }
178
179
 
179
180
  func destroyPlayer() {
@@ -254,20 +255,24 @@ class LibVlcPlayerView: ExpoView {
254
255
  let newVolume = max(minPlayerVolume, min(maxPlayerVolume, volume))
255
256
  userVolume = newVolume
256
257
 
257
- mediaPlayer?.audio?.volume = Int32(newVolume)
258
+ if let player = mediaPlayer, let audio = player.audio {
259
+ if audio.volume > minPlayerVolume {
260
+ audio.volume = Int32(newVolume)
261
+ }
262
+ }
258
263
  }
259
264
  }
260
265
 
261
266
  var mute: Bool = false {
262
267
  didSet {
263
- if options.hasAudioOption() {
268
+ if !mute, options.hasAudioOption() {
264
269
  let error = ["error": "Audio disabled via options"]
265
270
  onEncounteredError(error)
266
271
  }
267
272
 
268
- let newVolume = !mute ?
269
- max(playerVolumeStep, min(maxPlayerVolume, userVolume)) :
270
- minPlayerVolume
273
+ let newVolume = mute ?
274
+ minPlayerVolume :
275
+ userVolume
271
276
 
272
277
  mediaPlayer?.audio?.volume = Int32(newVolume)
273
278
  MediaPlayerManager.shared.setAppropriateAudioSession()
@@ -49,9 +49,8 @@ class MediaPlayerManager {
49
49
  var audioSessionCategoryOptions: AVAudioSession.CategoryOptions = audioSession.categoryOptions
50
50
 
51
51
  let isOutputtingAudio = playerViews.allObjects.contains { view in
52
- guard let player = view.mediaPlayer else { return false }
53
-
54
- return player.isPlaying && player.audio?.isMuted == false
52
+ guard let player = view.mediaPlayer, let audio = player.audio else { return false }
53
+ return player.isPlaying && audio.volume > minPlayerVolume
55
54
  }
56
55
 
57
56
  let shouldMixOverride = audioMixingMode == .mixWithOthers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-libvlc-player",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "LibVLC Player for Expo",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",