@5stones/react-native-audio-browser 0.1.3 → 0.1.5
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.
- package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +11 -71
- package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +125 -0
- package/ios/Browser/BrowserManager.swift +17 -2
- package/ios/HybridAudioBrowser.swift +7 -0
- package/ios/TrackPlayer.swift +150 -31
- package/lib/commonjs/features/browser.js.map +1 -1
- package/lib/commonjs/features/equalizer.js.map +1 -1
- package/lib/commonjs/features/errors.js.map +1 -1
- package/lib/commonjs/features/favorites.js.map +1 -1
- package/lib/commonjs/features/metadata.js.map +1 -1
- package/lib/commonjs/features/nowPlaying.js.map +1 -1
- package/lib/commonjs/features/output.js.map +1 -1
- package/lib/commonjs/features/playback/state.js.map +1 -1
- package/lib/commonjs/features/player/options.js.map +1 -1
- package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
- package/lib/commonjs/features/queue/queue.js +1 -1
- package/lib/commonjs/features/queue/queue.js.map +1 -1
- package/lib/commonjs/features/remoteControls.js.map +1 -1
- package/lib/commonjs/utils/useDebug.js.map +1 -1
- package/lib/commonjs/utils/validation.js +23 -0
- package/lib/commonjs/utils/validation.js.map +1 -0
- package/lib/commonjs/web/NativeAudioBrowser.js +53 -15
- package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
- package/lib/commonjs/web/SimpleRouter.js +5 -4
- package/lib/commonjs/web/SimpleRouter.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/Player.js +49 -24
- package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js +54 -45
- package/lib/commonjs/web/TrackPlayer/PlaylistPlayer.js.map +1 -1
- package/lib/commonjs/web/TrackPlayer/State.js.map +1 -1
- package/lib/commonjs/web/browser/BrowserManager.js +10 -17
- package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
- package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
- package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
- package/lib/commonjs/web/http/HttpClient.js +15 -2
- package/lib/commonjs/web/http/HttpClient.js.map +1 -1
- package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/commonjs/web/player/NowPlayingManager.js +9 -0
- package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
- package/lib/commonjs/web/player/OptionsManager.js +1 -1
- package/lib/commonjs/web/player/OptionsManager.js.map +1 -1
- package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/module/features/browser.js.map +1 -1
- package/lib/module/features/equalizer.js.map +1 -1
- package/lib/module/features/errors.js.map +1 -1
- package/lib/module/features/favorites.js.map +1 -1
- package/lib/module/features/metadata.js.map +1 -1
- package/lib/module/features/nowPlaying.js +1 -0
- package/lib/module/features/nowPlaying.js.map +1 -1
- package/lib/module/features/output.js.map +1 -1
- package/lib/module/features/playback/state.js.map +1 -1
- package/lib/module/features/player/options.js.map +1 -1
- package/lib/module/features/queue/activeTrack.js.map +1 -1
- package/lib/module/features/queue/queue.js +1 -1
- package/lib/module/features/queue/queue.js.map +1 -1
- package/lib/module/features/remoteControls.js.map +1 -1
- package/lib/module/utils/useDebug.js.map +1 -1
- package/lib/module/utils/validation.js +18 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/module/web/NativeAudioBrowser.js +53 -15
- package/lib/module/web/NativeAudioBrowser.js.map +1 -1
- package/lib/module/web/SimpleRouter.js +5 -4
- package/lib/module/web/SimpleRouter.js.map +1 -1
- package/lib/module/web/TrackPlayer/Player.js +49 -24
- package/lib/module/web/TrackPlayer/Player.js.map +1 -1
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js +54 -45
- package/lib/module/web/TrackPlayer/PlaylistPlayer.js.map +1 -1
- package/lib/module/web/TrackPlayer/State.js.map +1 -1
- package/lib/module/web/browser/BrowserManager.js +10 -17
- package/lib/module/web/browser/BrowserManager.js.map +1 -1
- package/lib/module/web/browser/FavoriteManager.js.map +1 -1
- package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
- package/lib/module/web/browser/SearchManager.js.map +1 -1
- package/lib/module/web/http/HttpClient.js +15 -2
- package/lib/module/web/http/HttpClient.js.map +1 -1
- package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
- package/lib/module/web/player/NowPlayingManager.js +9 -0
- package/lib/module/web/player/NowPlayingManager.js.map +1 -1
- package/lib/module/web/player/OptionsManager.js +1 -1
- package/lib/module/web/player/OptionsManager.js.map +1 -1
- package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
- package/lib/typescript/src/features/browser.d.ts.map +1 -1
- package/lib/typescript/src/features/equalizer.d.ts.map +1 -1
- package/lib/typescript/src/features/errors.d.ts.map +1 -1
- package/lib/typescript/src/features/favorites.d.ts.map +1 -1
- package/lib/typescript/src/features/metadata.d.ts +1 -1
- package/lib/typescript/src/features/metadata.d.ts.map +1 -1
- package/lib/typescript/src/features/nowPlaying.d.ts +1 -1
- package/lib/typescript/src/features/nowPlaying.d.ts.map +1 -1
- package/lib/typescript/src/features/output.d.ts.map +1 -1
- package/lib/typescript/src/features/playback/state.d.ts +1 -1
- package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
- package/lib/typescript/src/features/player/options.d.ts +1 -1
- package/lib/typescript/src/features/player/options.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
- package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
- package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
- package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
- package/lib/typescript/src/utils/useDebug.d.ts +1 -1
- package/lib/typescript/src/utils/useDebug.d.ts.map +1 -1
- package/lib/typescript/src/utils/validation.d.ts +3 -0
- package/lib/typescript/src/utils/validation.d.ts.map +1 -0
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts +6 -1
- package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -1
- package/lib/typescript/src/web/SimpleRouter.d.ts.map +1 -1
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts +7 -19
- package/lib/typescript/src/web/TrackPlayer/Player.d.ts.map +1 -1
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts +3 -3
- package/lib/typescript/src/web/TrackPlayer/PlaylistPlayer.d.ts.map +1 -1
- package/lib/typescript/src/web/browser/BrowserManager.d.ts.map +1 -1
- package/lib/typescript/src/web/browser/FavoriteManager.d.ts.map +1 -1
- package/lib/typescript/src/web/browser/NavigationErrorManager.d.ts.map +1 -1
- package/lib/typescript/src/web/browser/SearchManager.d.ts +1 -1
- package/lib/typescript/src/web/browser/SearchManager.d.ts.map +1 -1
- package/lib/typescript/src/web/http/HttpClient.d.ts.map +1 -1
- package/lib/typescript/src/web/http/RequestConfigBuilder.d.ts.map +1 -1
- package/lib/typescript/src/web/player/NowPlayingManager.d.ts.map +1 -1
- package/lib/typescript/src/web/player/OptionsManager.d.ts.map +1 -1
- package/lib/typescript/src/web/util/BrowserPathHelper.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/browser.ts +1 -1
- package/src/features/equalizer.ts +1 -1
- package/src/features/errors.ts +1 -1
- package/src/features/favorites.ts +1 -1
- package/src/features/metadata.ts +1 -1
- package/src/features/nowPlaying.ts +1 -1
- package/src/features/output.ts +1 -1
- package/src/features/playback/state.ts +1 -1
- package/src/features/player/options.ts +2 -2
- package/src/features/queue/activeTrack.ts +1 -1
- package/src/features/queue/queue.ts +2 -2
- package/src/features/remoteControls.ts +2 -2
- package/src/specs/audio-browser.nitro.ts +0 -1
- package/src/utils/useDebug.ts +6 -6
- package/src/utils/validation.ts +27 -0
- package/src/web/NativeAudioBrowser.ts +137 -58
- package/src/web/SimpleRouter.ts +24 -9
- package/src/web/TrackPlayer/Player.ts +58 -30
- package/src/web/TrackPlayer/PlaylistPlayer.ts +72 -63
- package/src/web/TrackPlayer/RepeatMode.ts +1 -1
- package/src/web/TrackPlayer/State.ts +9 -9
- package/src/web/browser/BrowserManager.ts +124 -67
- package/src/web/browser/FavoriteManager.ts +5 -3
- package/src/web/browser/NavigationErrorManager.ts +15 -8
- package/src/web/browser/SearchManager.ts +17 -11
- package/src/web/http/HttpClient.ts +25 -7
- package/src/web/http/RequestConfigBuilder.ts +29 -13
- package/src/web/player/NowPlayingManager.ts +13 -7
- package/src/web/player/OptionsManager.ts +7 -6
- package/src/web/util/BrowserPathHelper.ts +3 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { PlaylistPlayer, SleepTimerManager } from './TrackPlayer';
|
|
4
|
-
import { HttpClient } from './http/HttpClient';
|
|
5
3
|
import { BrowserManager } from './browser/BrowserManager';
|
|
6
4
|
import { FavoriteManager } from './browser/FavoriteManager';
|
|
7
5
|
import { NavigationErrorManager } from './browser/NavigationErrorManager';
|
|
8
6
|
import { SearchManager } from './browser/SearchManager';
|
|
9
|
-
import {
|
|
10
|
-
import { NowPlayingManager } from './player/NowPlayingManager';
|
|
7
|
+
import { HttpClient } from './http/HttpClient';
|
|
11
8
|
import { RequestConfigBuilder } from './http/RequestConfigBuilder';
|
|
9
|
+
import { NowPlayingManager } from './player/NowPlayingManager';
|
|
10
|
+
import { OptionsManager } from './player/OptionsManager';
|
|
11
|
+
import { PlaylistPlayer, SleepTimerManager } from './TrackPlayer';
|
|
12
12
|
import { BrowserPathHelper } from './util/BrowserPathHelper';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -34,7 +34,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
34
34
|
// Managers
|
|
35
35
|
|
|
36
36
|
// Player state
|
|
37
|
-
|
|
37
|
+
currentLoadId = 0;
|
|
38
38
|
_online = typeof navigator !== 'undefined' ? navigator.onLine : true;
|
|
39
39
|
sleepTimer = new class extends SleepTimerManager {
|
|
40
40
|
constructor(parent) {
|
|
@@ -176,7 +176,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
176
176
|
set state(newState) {
|
|
177
177
|
const oldState = super.state;
|
|
178
178
|
const didStateChange = newState.state !== oldState.state;
|
|
179
|
-
const didErrorChange = newState.state === 'error' && oldState.state === 'error' ? newState.error !== oldState.error : false;
|
|
179
|
+
const didErrorChange = newState.state === 'error' && oldState.state === 'error' ? newState.error?.code !== oldState.error?.code || newState.error?.message !== oldState.error?.message : false;
|
|
180
180
|
super.state = newState;
|
|
181
181
|
if (!didStateChange && !didErrorChange) {
|
|
182
182
|
return;
|
|
@@ -191,17 +191,26 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Derives PlayingState from playback state and playWhenReady.
|
|
197
|
+
* Matches Android's PlayingStateFactory.derive() logic.
|
|
198
|
+
*/
|
|
194
199
|
getPlayingStateFromPlayback(playback) {
|
|
200
|
+
const state = playback.state;
|
|
201
|
+
const pwr = this._playWhenReady;
|
|
195
202
|
return {
|
|
196
|
-
playing:
|
|
197
|
-
buffering:
|
|
203
|
+
playing: pwr && state !== 'error' && state !== 'ended' && state !== 'none',
|
|
204
|
+
buffering: pwr && (state === 'loading' || state === 'buffering')
|
|
198
205
|
};
|
|
199
206
|
}
|
|
200
207
|
setupProgressUpdates(interval) {
|
|
201
208
|
this.clearUpdateEventInterval();
|
|
202
209
|
if (interval) {
|
|
203
210
|
this.progressUpdateEventInterval = setInterval(() => {
|
|
204
|
-
|
|
211
|
+
const state = this.state.state;
|
|
212
|
+
// Match Android: emit progress during loading, buffering, and playing
|
|
213
|
+
if (state === 'playing' || state === 'loading' || state === 'buffering') {
|
|
205
214
|
const progress = this.getProgress();
|
|
206
215
|
const event = {
|
|
207
216
|
...progress,
|
|
@@ -373,17 +382,39 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
373
382
|
|
|
374
383
|
// Clear now playing override when track changes (matches Android's PlayerListener.onMediaItemTransition)
|
|
375
384
|
this.nowPlayingManager.clearNowPlayingOverride();
|
|
385
|
+
|
|
386
|
+
// Match Android: load() modifies the queue.
|
|
387
|
+
// If queue is empty, add the track. If queue has items, replace at currentIndex.
|
|
388
|
+
if (this.playlist.length === 0) {
|
|
389
|
+
this.playlist = [track];
|
|
390
|
+
this._currentIndex = 0;
|
|
391
|
+
this.onPlaybackQueueChanged(this.playlist);
|
|
392
|
+
} else if (this.currentIndex !== undefined && this.playlist[this.currentIndex] !== track) {
|
|
393
|
+
this.playlist[this.currentIndex] = track;
|
|
394
|
+
this.onPlaybackQueueChanged(this.playlist);
|
|
395
|
+
}
|
|
376
396
|
const lastTrack = this.current;
|
|
377
397
|
const lastPosition = element.currentTime;
|
|
378
398
|
const lastIndex = this.lastIndex;
|
|
379
399
|
const currentIndex = this.currentIndex;
|
|
380
400
|
|
|
401
|
+
// Set loading flag early so seekTo() calls during async URL resolution
|
|
402
|
+
// are captured as pending seeks rather than silently dropped
|
|
403
|
+
this._loadInProgress = true;
|
|
404
|
+
this._pendingSeek = undefined;
|
|
405
|
+
|
|
381
406
|
// Resolve the media URL before loading (async but we don't await)
|
|
407
|
+
const loadId = ++this.currentLoadId;
|
|
382
408
|
const doLoad = async () => {
|
|
383
409
|
const resolvedTrack = track.src ? {
|
|
384
410
|
...track,
|
|
385
411
|
src: await this.resolveMediaUrl(track.src)
|
|
386
412
|
} : track;
|
|
413
|
+
|
|
414
|
+
// A newer load() was called while resolving — discard this stale result
|
|
415
|
+
if (loadId !== this.currentLoadId) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
387
418
|
super.load(resolvedTrack, loadedTrack => {
|
|
388
419
|
this.onPlaybackActiveTrackChanged({
|
|
389
420
|
lastTrack,
|
|
@@ -408,14 +439,18 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
408
439
|
|
|
409
440
|
// Execute async load without blocking, with error handling
|
|
410
441
|
doLoad().catch(error => {
|
|
442
|
+
this._loadInProgress = false;
|
|
443
|
+
this._pendingSeek = undefined;
|
|
411
444
|
console.error('Error loading track:', error);
|
|
412
445
|
const message = error instanceof Error ? error.message : 'Failed to load track';
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
446
|
+
const playbackError = {
|
|
447
|
+
code: 'load-error',
|
|
448
|
+
message
|
|
449
|
+
};
|
|
450
|
+
this.state = {
|
|
451
|
+
state: 'error',
|
|
452
|
+
error: playbackError
|
|
453
|
+
};
|
|
419
454
|
});
|
|
420
455
|
}
|
|
421
456
|
togglePlayback() {
|
|
@@ -513,6 +548,9 @@ export class NativeAudioBrowser extends PlaylistPlayer {
|
|
|
513
548
|
// MARK: Queue management
|
|
514
549
|
setQueue(tracks, startIndex, startPositionMs) {
|
|
515
550
|
this.stop();
|
|
551
|
+
// Clear stale references from previous queue
|
|
552
|
+
this.current = undefined;
|
|
553
|
+
this._currentIndex = undefined;
|
|
516
554
|
// Hydrate favorites and transform artwork URLs on all tracks in the queue
|
|
517
555
|
const artworkConfig = this.browserManager.configuration.artwork;
|
|
518
556
|
this.playlist = tracks.map(track => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlaylistPlayer","SleepTimerManager","HttpClient","BrowserManager","FavoriteManager","NavigationErrorManager","SearchManager","OptionsManager","NowPlayingManager","RequestConfigBuilder","BrowserPathHelper","NativeAudioBrowser","name","equals","dispose","clearUpdateEventInterval","window","onlineHandler","removeEventListener","offlineHandler","_online","navigator","onLine","sleepTimer","constructor","parent","onComplete","console","log","stop","onSleepTimerChanged","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteBookmark","onRemoteDislike","onRemoteJumpBackward","onRemoteJumpForward","onRemoteLike","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onIosOutputChanged","handleRemoteBookmark","undefined","handleRemoteDislike","handleRemoteJumpBackward","handleRemoteJumpForward","handleRemoteLike","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSetRating","handleRemoteSkip","handleRemoteStop","httpClient","favoriteManager","navigationErrorManager","optionsManager","nowPlayingManager","searchManager","content","data","error","options","metadata","addEventListener","state","newState","oldState","didStateChange","didErrorChange","getPlayingStateFromPlayback","playback","playing","buffering","setupProgressUpdates","interval","progressUpdateEventInterval","setInterval","progress","getProgress","event","track","currentIndex","clearInterval","onPlaylistEnded","position","element","currentTime","navigatePath","navigateTrack","url","navigateTrackAsync","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","queue","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","startIndex","isContextual","stripTrackId","extractTrackId","load","catch","Error","message","setNavigationError","onSearch","query","search","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","setFavorites","favorites","setupPlayer","updateOptions","getOptions","resolveMediaUrl","mediaConfig","media","callback","requireElement","clearNowPlayingOverride","lastTrack","current","lastPosition","lastIndex","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","code","togglePlayback","setPlayWhenReady","pwr","didChange","_playWhenReady","playWhenReady","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","setRepeatMode","mode","repeatMode","getShuffleEnabled","setShuffleEnabled","enabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","sleepAfter","setSleepTimerToEndOfTrack","setToEndOfTrack","clearSleepTimer","wasRunning","clear","onTrackEnded","startPositionMs","artworkConfig","artwork","playlist","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","getIosOutput","openIosOutputPicker"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BrowserManager","FavoriteManager","NavigationErrorManager","SearchManager","HttpClient","RequestConfigBuilder","NowPlayingManager","OptionsManager","PlaylistPlayer","SleepTimerManager","BrowserPathHelper","NativeAudioBrowser","name","equals","dispose","clearUpdateEventInterval","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","_online","navigator","onLine","sleepTimer","constructor","parent","onComplete","console","log","stop","onSleepTimerChanged","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteBookmark","onRemoteDislike","onRemoteJumpBackward","onRemoteJumpForward","onRemoteLike","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onIosOutputChanged","handleRemoteBookmark","undefined","handleRemoteDislike","handleRemoteJumpBackward","handleRemoteJumpForward","handleRemoteLike","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSetRating","handleRemoteSkip","handleRemoteStop","httpClient","favoriteManager","navigationErrorManager","optionsManager","nowPlayingManager","searchManager","content","data","error","options","metadata","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","getPlayingStateFromPlayback","playback","pwr","_playWhenReady","playing","buffering","setupProgressUpdates","interval","progressUpdateEventInterval","setInterval","progress","getProgress","event","track","currentIndex","clearInterval","onPlaylistEnded","position","element","currentTime","navigatePath","navigateTrack","url","navigateTrackAsync","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","queue","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","startIndex","isContextual","stripTrackId","extractTrackId","load","catch","Error","setNavigationError","onSearch","query","search","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","setFavorites","favorites","setupPlayer","updateOptions","getOptions","resolveMediaUrl","mediaConfig","media","callback","requireElement","clearNowPlayingOverride","playlist","_currentIndex","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","setPlayWhenReady","didChange","playWhenReady","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","setRepeatMode","mode","repeatMode","getShuffleEnabled","setShuffleEnabled","enabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","sleepAfter","setSleepTimerToEndOfTrack","setToEndOfTrack","clearSleepTimer","wasRunning","clear","onTrackEnded","startPositionMs","artworkConfig","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","getIosOutput","openIosOutputPicker"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* - Most specific route wins
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
+
import { assertedNotNullish } from '../utils/validation';
|
|
19
20
|
export class SimpleRouter {
|
|
20
21
|
/**
|
|
21
22
|
* Finds the best matching route for the given path.
|
|
@@ -67,12 +68,12 @@ export class SimpleRouter {
|
|
|
67
68
|
|
|
68
69
|
// Match all segments except the tail wildcard
|
|
69
70
|
for (let i = 0; i < patternSegments.length - 1; i++) {
|
|
70
|
-
if (!this.matchSingleSegment(patternSegments[i], pathSegments[i], params)) {
|
|
71
|
+
if (!this.matchSingleSegment(assertedNotNullish(patternSegments[i]), assertedNotNullish(pathSegments[i]), params)) {
|
|
71
72
|
return null;
|
|
72
73
|
}
|
|
73
74
|
// Note: The Kotlin implementation doesn't update counts here (appears to be a bug)
|
|
74
75
|
// but we'll match it exactly for consistency
|
|
75
|
-
this.updateSegmentCounts(patternSegments[i], constantSegments, parameterSegments, wildcardSegments);
|
|
76
|
+
this.updateSegmentCounts(assertedNotNullish(patternSegments[i]), constantSegments, parameterSegments, wildcardSegments);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
// Capture remaining path segments as "tail" parameter
|
|
@@ -86,10 +87,10 @@ export class SimpleRouter {
|
|
|
86
87
|
return null;
|
|
87
88
|
}
|
|
88
89
|
for (let i = 0; i < patternSegments.length; i++) {
|
|
89
|
-
if (!this.matchSingleSegment(patternSegments[i], pathSegments[i], params)) {
|
|
90
|
+
if (!this.matchSingleSegment(assertedNotNullish(patternSegments[i]), assertedNotNullish(pathSegments[i]), params)) {
|
|
90
91
|
return null;
|
|
91
92
|
}
|
|
92
|
-
const [constCount, paramCount, wildcardCount] = this.updateSegmentCounts(patternSegments[i], constantSegments, parameterSegments, wildcardSegments);
|
|
93
|
+
const [constCount, paramCount, wildcardCount] = this.updateSegmentCounts(assertedNotNullish(patternSegments[i]), constantSegments, parameterSegments, wildcardSegments);
|
|
93
94
|
constantSegments = constCount;
|
|
94
95
|
parameterSegments = paramCount;
|
|
95
96
|
wildcardSegments = wildcardCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SimpleRouter","findBestMatch","path","routes","matches","pattern","Object","keys","match","matchPattern","push","length","reduce","best","current","specificity","patternSegments","split","filter","s","pathSegments","params","constantSegments","parameterSegments","wildcardSegments","hasTailWildcard","i","matchSingleSegment","updateSegmentCounts","remainingSegments","slice","join","constCount","paramCount","wildcardCount","patternSegment","pathSegment","startsWith","endsWith","paramName","substring"],"sourceRoot":"../../../src","sources":["web/SimpleRouter.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["assertedNotNullish","SimpleRouter","findBestMatch","path","routes","matches","pattern","Object","keys","match","matchPattern","push","length","reduce","best","current","specificity","patternSegments","split","filter","s","pathSegments","params","constantSegments","parameterSegments","wildcardSegments","hasTailWildcard","i","matchSingleSegment","updateSegmentCounts","remainingSegments","slice","join","constCount","paramCount","wildcardCount","patternSegment","pathSegment","startsWith","endsWith","paramName","substring"],"sourceRoot":"../../../src","sources":["web/SimpleRouter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { State } from './State';
|
|
4
3
|
import { SetupNotCalledError } from './SetupNotCalledError';
|
|
4
|
+
import { State } from './State';
|
|
5
5
|
|
|
6
6
|
// Extend Window interface for debug purposes
|
|
7
7
|
|
|
@@ -14,7 +14,8 @@ export class Player {
|
|
|
14
14
|
_state = {
|
|
15
15
|
state: State.None
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
_isStopped = false;
|
|
18
|
+
_loadInProgress = false;
|
|
18
19
|
// current getter/setter
|
|
19
20
|
get current() {
|
|
20
21
|
return this._current;
|
|
@@ -122,6 +123,8 @@ export class Player {
|
|
|
122
123
|
* event handlers
|
|
123
124
|
*/
|
|
124
125
|
onStateUpdate(state) {
|
|
126
|
+
// Ignore Shaka/element events while stopped (e.g., from unload)
|
|
127
|
+
if (this._isStopped) return;
|
|
125
128
|
this.state = {
|
|
126
129
|
state
|
|
127
130
|
};
|
|
@@ -157,15 +160,13 @@ export class Player {
|
|
|
157
160
|
// Log the error.
|
|
158
161
|
console.debug('Error code', shakaError.code, 'object', shakaError);
|
|
159
162
|
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* NOTE: this method is sync despite the actual load being async. This
|
|
163
|
-
* behavior is intentional as it mirrors what happens in Android. State
|
|
164
|
-
* changes should be captured by event listeners.
|
|
165
|
-
*/
|
|
166
|
-
load(track, onComplete) {
|
|
163
|
+
load(track, onLoaded) {
|
|
167
164
|
const player = this.requirePlayer();
|
|
165
|
+
this._isStopped = false;
|
|
166
|
+
this._loadInProgress = true;
|
|
168
167
|
if (!track.src) {
|
|
168
|
+
this._loadInProgress = false;
|
|
169
|
+
this._pendingSeek = undefined;
|
|
169
170
|
const error = {
|
|
170
171
|
code: 'invalid_track',
|
|
171
172
|
message: 'Track does not have a valid src URL'
|
|
@@ -177,37 +178,43 @@ export class Player {
|
|
|
177
178
|
return;
|
|
178
179
|
}
|
|
179
180
|
player.load(track.src).then(() => {
|
|
181
|
+
this._loadInProgress = false;
|
|
180
182
|
this.current = track;
|
|
181
|
-
|
|
183
|
+
onLoaded?.(track);
|
|
184
|
+
|
|
185
|
+
// Execute any pending seek that arrived during loading
|
|
186
|
+
if (this._pendingSeek !== undefined) {
|
|
187
|
+
this.requireElement().currentTime = this._pendingSeek;
|
|
188
|
+
this._pendingSeek = undefined;
|
|
189
|
+
}
|
|
182
190
|
|
|
183
191
|
// Auto-play if playWhenReady is true
|
|
184
192
|
if (this.playWhenReady) {
|
|
185
193
|
this.play();
|
|
186
194
|
}
|
|
187
195
|
}).catch(err => {
|
|
196
|
+
this._loadInProgress = false;
|
|
197
|
+
this._pendingSeek = undefined;
|
|
188
198
|
this.onError(this.toNormalizedError(err));
|
|
189
199
|
});
|
|
190
200
|
}
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* NOTE: this method is sync despite the actual load being async. This
|
|
194
|
-
* behavior is intentional as it mirrors what happens in Android. State
|
|
195
|
-
* changes should be captured by event listeners.
|
|
196
|
-
*/
|
|
197
201
|
stop(onComplete) {
|
|
198
202
|
const player = this.requirePlayer();
|
|
199
|
-
|
|
203
|
+
|
|
204
|
+
// Match Android: stop sets playWhenReady=false and state=stopped,
|
|
205
|
+
// but keeps the current track so play() can resume.
|
|
206
|
+
this._isStopped = true;
|
|
207
|
+
this._loadInProgress = false;
|
|
208
|
+
this._pendingSeek = undefined;
|
|
209
|
+
this.playWhenReady = false;
|
|
210
|
+
this.state = {
|
|
211
|
+
state: State.Stopped
|
|
212
|
+
};
|
|
200
213
|
player.unload().then(() => onComplete?.()).catch(err => {
|
|
201
214
|
console.error('Error unloading player:', err);
|
|
202
215
|
onComplete?.(); // Still call onComplete so callers aren't left hanging
|
|
203
216
|
});
|
|
204
217
|
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* NOTE: this method is sync despite the actual load being async. This
|
|
208
|
-
* behavior is intentional as it mirrors what happens in Android. State
|
|
209
|
-
* changes should be captured by event listeners.
|
|
210
|
-
*/
|
|
211
218
|
play() {
|
|
212
219
|
const element = this.requireElement();
|
|
213
220
|
this.playWhenReady = true;
|
|
@@ -215,6 +222,12 @@ export class Player {
|
|
|
215
222
|
this.load(this.current);
|
|
216
223
|
return;
|
|
217
224
|
}
|
|
225
|
+
|
|
226
|
+
// Match Android: play() after stop() re-prepares the current track
|
|
227
|
+
if (this._isStopped && this.current) {
|
|
228
|
+
this.load(this.current);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
218
231
|
element.play().catch(err => console.error(err));
|
|
219
232
|
}
|
|
220
233
|
retry() {
|
|
@@ -244,10 +257,18 @@ export class Player {
|
|
|
244
257
|
return element.playbackRate;
|
|
245
258
|
}
|
|
246
259
|
seekBy(offset) {
|
|
260
|
+
if (this._loadInProgress) {
|
|
261
|
+
this._pendingSeek = (this._pendingSeek ?? 0) + offset;
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
247
264
|
const element = this.requireElement();
|
|
248
265
|
element.currentTime += offset;
|
|
249
266
|
}
|
|
250
267
|
seekTo(seconds) {
|
|
268
|
+
if (this._loadInProgress) {
|
|
269
|
+
this._pendingSeek = seconds;
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
251
272
|
const element = this.requireElement();
|
|
252
273
|
element.currentTime = seconds;
|
|
253
274
|
}
|
|
@@ -261,10 +282,14 @@ export class Player {
|
|
|
261
282
|
}
|
|
262
283
|
getProgress() {
|
|
263
284
|
const element = this.requireElement();
|
|
285
|
+
let buffered = 0;
|
|
286
|
+
if (element.buffered.length > 0) {
|
|
287
|
+
buffered = element.buffered.end(element.buffered.length - 1);
|
|
288
|
+
}
|
|
264
289
|
return {
|
|
265
290
|
position: element.currentTime,
|
|
266
291
|
duration: element.duration || 0,
|
|
267
|
-
buffered
|
|
292
|
+
buffered
|
|
268
293
|
};
|
|
269
294
|
}
|
|
270
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SetupNotCalledError","State","Player","hasInitialized","_current","undefined","_playWhenReady","_state","state","None","_isStopped","_loadInProgress","current","cur","newState","playWhenReady","pwr","requireElement","element","requirePlayer","player","setupPlayer","_options","window","error","code","message","shaka","default","polyfill","installAll","isBrowserSupported","Error","document","createElement","setAttribute","body","appendChild","attach","addEventListener","event","errorEvent","onError","detail","onStateUpdate","Ended","Playing","Paused","Loading","Ready","bufferingEvent","buffering","Buffering","__DEV__","rnab","toNormalizedError","err","e","String","shakaError","unload","catch","console","toString","debug","load","track","onLoaded","src","_pendingSeek","then","currentTime","play","stop","onComplete","Stopped","retry","retryStreaming","pause","togglePlayback","setRate","rate","defaultPlaybackRate","playbackRate","getRate","seekBy","offset","seekTo","seconds","setVolume","volume","getVolume","getProgress","buffered","length","end","position","duration"],"sourceRoot":"../../../../src","sources":["web/TrackPlayer/Player.ts"],"mappings":"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","ignoreList":[]}
|