expo-libvlc-player 1.0.3 → 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.3"
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.3"
30
+ versionName "1.0.4"
31
31
  consumerProguardFiles("proguard-rules.pro")
32
32
  }
33
33
  lintOptions {
@@ -302,26 +302,30 @@ class LibVlcPlayerView(
302
302
  onEncounteredError(error)
303
303
  }
304
304
 
305
- val volume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
306
- userVolume = volume
305
+ val newVolume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
306
+ userVolume = newVolume
307
307
 
308
- mediaPlayer?.setVolume(volume)
308
+ mediaPlayer?.let { player ->
309
+ if (player.getVolume() > MIN_PLAYER_VOLUME) {
310
+ player.setVolume(newVolume)
311
+ }
312
+ }
309
313
 
310
314
  field = value
311
315
  }
312
316
 
313
317
  var mute: Boolean = false
314
318
  set(value) {
315
- if (options.hasAudioOption()) {
319
+ if (!value && options.hasAudioOption()) {
316
320
  val error = mapOf("error" to "Audio disabled via options")
317
321
  onEncounteredError(error)
318
322
  }
319
323
 
320
324
  val newVolume =
321
- if (!value) {
322
- userVolume.coerceIn(PLAYER_VOLUME_STEP, MAX_PLAYER_VOLUME)
323
- } else {
325
+ if (value) {
324
326
  MIN_PLAYER_VOLUME
327
+ } else {
328
+ userVolume
325
329
  }
326
330
 
327
331
  mediaPlayer?.setVolume(newVolume)
@@ -255,20 +255,24 @@ class LibVlcPlayerView: ExpoView {
255
255
  let newVolume = max(minPlayerVolume, min(maxPlayerVolume, volume))
256
256
  userVolume = newVolume
257
257
 
258
- 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
+ }
259
263
  }
260
264
  }
261
265
 
262
266
  var mute: Bool = false {
263
267
  didSet {
264
- if options.hasAudioOption() {
268
+ if !mute, options.hasAudioOption() {
265
269
  let error = ["error": "Audio disabled via options"]
266
270
  onEncounteredError(error)
267
271
  }
268
272
 
269
- let newVolume = !mute ?
270
- max(playerVolumeStep, min(maxPlayerVolume, userVolume)) :
271
- minPlayerVolume
273
+ let newVolume = mute ?
274
+ minPlayerVolume :
275
+ userVolume
272
276
 
273
277
  mediaPlayer?.audio?.volume = Int32(newVolume)
274
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.3",
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",