@rntp/player 5.0.0 → 5.1.0

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.
Files changed (61) hide show
  1. package/android/src/main/java/com/doublesymmetry/trackplayer/HeaderInjectingDataSourceFactory.kt +5 -1
  2. package/android/src/main/java/com/doublesymmetry/trackplayer/TrackPlayerModule.kt +43 -3
  3. package/android/src/main/java/com/doublesymmetry/trackplayer/models/EmitEventType.kt +30 -0
  4. package/android/src/main/java/com/doublesymmetry/trackplayer/models/MetadataApplier.kt +59 -0
  5. package/android/src/main/java/com/doublesymmetry/trackplayer/models/PlayerConfig.kt +10 -0
  6. package/android/src/main/java/com/doublesymmetry/trackplayer/models/StreamMetadataExtractor.kt +98 -0
  7. package/android/src/main/java/com/doublesymmetry/trackplayer/models/TrackPlayerMediaItem.kt +20 -8
  8. package/android/src/test/java/com/doublesymmetry/trackplayer/models/EmitEventTest.kt +33 -0
  9. package/android/src/test/java/com/doublesymmetry/trackplayer/models/MetadataApplierTest.kt +243 -0
  10. package/android/src/test/java/com/doublesymmetry/trackplayer/models/PlayerConfigTest.kt +33 -0
  11. package/android/src/test/java/com/doublesymmetry/trackplayer/models/StreamMetadataExtractorTest.kt +254 -0
  12. package/android/src/test/java/com/doublesymmetry/trackplayer/models/TrackPlayerMediaItemTest.kt +202 -0
  13. package/ios/TrackPlayer.swift +49 -2
  14. package/ios/models/EmitEvent.swift +28 -0
  15. package/ios/models/MediaItem.swift +8 -3
  16. package/ios/tests/AVPlayerEngineIntegrationTests.swift +13 -4
  17. package/lib/commonjs/audio.js +1 -0
  18. package/lib/commonjs/audio.js.map +1 -1
  19. package/lib/commonjs/events/MediaMetadataChanged.js +2 -0
  20. package/lib/commonjs/events/MediaMetadataChanged.js.map +1 -0
  21. package/lib/commonjs/events/index.js +13 -0
  22. package/lib/commonjs/events/index.js.map +1 -1
  23. package/lib/commonjs/hooks/useActiveMediaItem.js +9 -3
  24. package/lib/commonjs/hooks/useActiveMediaItem.js.map +1 -1
  25. package/lib/commonjs/hooks/useProgress.js.map +1 -1
  26. package/lib/commonjs/interfaces/PlayerConfig.js +1 -0
  27. package/lib/commonjs/interfaces/PlayerConfig.js.map +1 -1
  28. package/lib/module/audio.js +1 -0
  29. package/lib/module/audio.js.map +1 -1
  30. package/lib/module/events/MediaMetadataChanged.js +2 -0
  31. package/lib/module/events/MediaMetadataChanged.js.map +1 -0
  32. package/lib/module/events/index.js +2 -0
  33. package/lib/module/events/index.js.map +1 -1
  34. package/lib/module/hooks/useActiveMediaItem.js +9 -3
  35. package/lib/module/hooks/useActiveMediaItem.js.map +1 -1
  36. package/lib/module/hooks/useProgress.js.map +1 -1
  37. package/lib/module/interfaces/PlayerConfig.js +1 -0
  38. package/lib/module/interfaces/PlayerConfig.js.map +1 -1
  39. package/lib/typescript/src/audio.d.ts.map +1 -1
  40. package/lib/typescript/src/events/MediaMetadataChanged.d.ts +31 -0
  41. package/lib/typescript/src/events/MediaMetadataChanged.d.ts.map +1 -0
  42. package/lib/typescript/src/events/MetadataReceived.d.ts +15 -0
  43. package/lib/typescript/src/events/MetadataReceived.d.ts.map +1 -1
  44. package/lib/typescript/src/events/index.d.ts +4 -0
  45. package/lib/typescript/src/events/index.d.ts.map +1 -1
  46. package/lib/typescript/src/hooks/useActiveMediaItem.d.ts +8 -2
  47. package/lib/typescript/src/hooks/useActiveMediaItem.d.ts.map +1 -1
  48. package/lib/typescript/src/hooks/useProgress.d.ts.map +1 -1
  49. package/lib/typescript/src/interfaces/MediaItem.d.ts +15 -0
  50. package/lib/typescript/src/interfaces/MediaItem.d.ts.map +1 -1
  51. package/lib/typescript/src/interfaces/PlayerConfig.d.ts +15 -0
  52. package/lib/typescript/src/interfaces/PlayerConfig.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/audio.ts +3 -0
  55. package/src/events/MediaMetadataChanged.ts +31 -0
  56. package/src/events/MetadataReceived.ts +15 -0
  57. package/src/events/index.ts +4 -0
  58. package/src/hooks/useActiveMediaItem.ts +9 -3
  59. package/src/hooks/useProgress.ts +1 -1
  60. package/src/interfaces/MediaItem.ts +15 -0
  61. package/src/interfaces/PlayerConfig.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"names":["AppRegistry","Image","NativeEventEmitter","NativeModules","Platform","DEFAULT_PLAYER_CONFIG","DEFAULT_ANDROID_PLAYER_CONFIG","DEFAULT_CACHE_CONFIG","Event","isTurboModuleEnabled","global","__turboModuleProxy","TrackPlayerModule","require","default","TrackPlayer","Proxy","get","Error","select","ios","NativeModule","OS","emitter","isPlayerSetup","resolveUrl","url","resolved","resolveAssetSource","uri","resolveMediaItem","item","artworkUrl","normalizePlayerConfig","options","android","cache","undefined","contentType","handleAudioBecomingNoisy","progressSync","setupPlayer","registerBackgroundEventHandler","factory","registerHeadlessTask","type","QueueChanged","setImmediate","addEventListener","event","listener","addListener","play","pause","stop","seekTo","position","seekBy","offset","skipToNext","skipToPrevious","skipToIndex","index","retry","setPlaybackSpeed","speed","setVolume","volume","setMediaItem","mediaItem","setMediaItems","mediaItems","startIndex","map","addMediaItem","addMediaItems","insertMediaItem","insertMediaItems","removeMediaItem","removeMediaItems","fromIndex","toIndex","clear","clearCache","preload","duration","cancelPreload","replaceMediaItem","moveMediaItem","updateMetadata","metadata","getPlaybackState","isPlaying","getProgress","result","buffered","cached","getPlaybackSpeed","getVolume","getActiveMediaItem","getActiveMediaItemIndex","getQueue","getRepeatMode","isShuffleEnabled","setCommands","commands","setRepeatMode","mode","setShuffleEnabled","enabled","updateProgressSyncHeaders","headers","resolveBrowseItem","children","setBrowseTree","categories","cat","items","sleepAfterTime","seconds","fadeOutSeconds","sleepAfterMediaItemAtIndex","resolvedIndex","getSleepTimer","cancelSleepTimer","destroy"],"sourceRoot":"../../src","sources":["audio.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppRegistry","Image","NativeEventEmitter","NativeModules","Platform","DEFAULT_PLAYER_CONFIG","DEFAULT_ANDROID_PLAYER_CONFIG","DEFAULT_CACHE_CONFIG","Event","isTurboModuleEnabled","global","__turboModuleProxy","TrackPlayerModule","require","default","TrackPlayer","Proxy","get","Error","select","ios","NativeModule","OS","emitter","isPlayerSetup","resolveUrl","url","resolved","resolveAssetSource","uri","resolveMediaItem","item","artworkUrl","normalizePlayerConfig","options","android","cache","undefined","contentType","handleAudioBecomingNoisy","autoUpdateMetadataFromStream","progressSync","setupPlayer","registerBackgroundEventHandler","factory","registerHeadlessTask","type","QueueChanged","setImmediate","addEventListener","event","listener","addListener","play","pause","stop","seekTo","position","seekBy","offset","skipToNext","skipToPrevious","skipToIndex","index","retry","setPlaybackSpeed","speed","setVolume","volume","setMediaItem","mediaItem","setMediaItems","mediaItems","startIndex","map","addMediaItem","addMediaItems","insertMediaItem","insertMediaItems","removeMediaItem","removeMediaItems","fromIndex","toIndex","clear","clearCache","preload","duration","cancelPreload","replaceMediaItem","moveMediaItem","updateMetadata","metadata","getPlaybackState","isPlaying","getProgress","result","buffered","cached","getPlaybackSpeed","getVolume","getActiveMediaItem","getActiveMediaItemIndex","getQueue","getRepeatMode","isShuffleEnabled","setCommands","commands","setRepeatMode","mode","setShuffleEnabled","enabled","updateProgressSyncHeaders","headers","resolveBrowseItem","children","setBrowseTree","categories","cat","items","sleepAfterTime","seconds","fadeOutSeconds","sleepAfterMediaItemAtIndex","resolvedIndex","getSleepTimer","cancelSleepTimer","destroy"],"sourceRoot":"../../src","sources":["audio.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=MediaMetadataChanged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["events/MediaMetadataChanged.ts"],"mappings":"","ignoreList":[]}
@@ -9,6 +9,7 @@ export let Event = /*#__PURE__*/function (Event) {
9
9
  Event["PlaybackStateChanged"] = "event.playback-state-changed";
10
10
  Event["IsPlayingChanged"] = "event.is-playing-changed";
11
11
  Event["MediaItemTransition"] = "event.media-item-transition";
12
+ Event["MediaMetadataChanged"] = "event.media-metadata-changed";
12
13
  Event["MetadataReceived"] = "event.metadata-received";
13
14
  Event["PlaybackError"] = "event.playback-error";
14
15
  Event["PlaybackProgressUpdated"] = "event.playback-progress-updated";
@@ -30,6 +31,7 @@ export let Event = /*#__PURE__*/function (Event) {
30
31
  export * from "./PlaybackStateChanged.js";
31
32
  export * from "./IsPlayingChanged.js";
32
33
  export * from "./MediaItemTransition.js";
34
+ export * from "./MediaMetadataChanged.js";
33
35
  export * from "./MetadataReceived.js";
34
36
  export * from "./RemoteControl.js";
35
37
  export * from "./PlaybackError.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Event"],"sourceRoot":"../../../src","sources":["events/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAqBA,WAAYA,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;;AA8CjB;;AAIA,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,uBAAoB;AAClC,cAAc,oBAAiB;AAC/B,cAAc,oBAAiB;AAC/B,cAAc,8BAA2B;AACzC,cAAc,mBAAgB;AAC9B,cAAc,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["Event"],"sourceRoot":"../../../src","sources":["events/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAsBA,WAAYA,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;;AAgDjB;;AAIA,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,oBAAiB;AAC/B,cAAc,oBAAiB;AAC/B,cAAc,8BAA2B;AACzC,cAAc,mBAAgB;AAC9B,cAAc,0BAAuB","ignoreList":[]}
@@ -9,8 +9,14 @@ import { useEffect, useState } from 'react';
9
9
  import * as TrackPlayer from "../audio.js";
10
10
  import { Event } from "../events/index.js";
11
11
  /**
12
- * Returns the currently active media item, updating on item transitions
13
- * and when stream metadata changes (e.g. ICY tags from live radio).
12
+ * Returns the currently active media item, updating on item transitions and
13
+ * whenever the active item's effective metadata changes (e.g. ICY tags from
14
+ * a live radio stream rewriting title/artist).
15
+ *
16
+ * Subscribes to {@link Event.MediaMetadataChanged} rather than
17
+ * {@link Event.MetadataReceived} so the re-read of {@link getActiveMediaItem}
18
+ * happens *after* native has finished merging the new metadata into the
19
+ * queued item — no race against the IPC that lands the auto-update.
14
20
  */
15
21
  export function useActiveMediaItem() {
16
22
  const [item, setItem] = useState(() => TrackPlayer.getActiveMediaItem());
@@ -18,7 +24,7 @@ export function useActiveMediaItem() {
18
24
  const transitionSub = TrackPlayer.addEventListener(Event.MediaItemTransition, event => {
19
25
  setItem(event.item);
20
26
  });
21
- const metadataSub = TrackPlayer.addEventListener(Event.MetadataReceived, () => {
27
+ const metadataSub = TrackPlayer.addEventListener(Event.MediaMetadataChanged, () => {
22
28
  setItem(TrackPlayer.getActiveMediaItem());
23
29
  });
24
30
  return () => {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","TrackPlayer","Event","useActiveMediaItem","item","setItem","getActiveMediaItem","transitionSub","addEventListener","MediaItemTransition","event","metadataSub","MetadataReceived","remove"],"sourceRoot":"../../../src","sources":["hooks/useActiveMediaItem.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAO,KAAKC,WAAW,MAAM,aAAU;AACvC,SAASC,KAAK,QAAQ,oBAAW;AAGjC;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGL,QAAQ,CAAmB,MACjDC,WAAW,CAACK,kBAAkB,CAAC,CACjC,CAAC;EAEDP,SAAS,CAAC,MAAM;IACd,MAAMQ,aAAa,GAAGN,WAAW,CAACO,gBAAgB,CAChDN,KAAK,CAACO,mBAAmB,EACxBC,KAAK,IAAK;MACTL,OAAO,CAACK,KAAK,CAACN,IAAI,CAAC;IACrB,CACF,CAAC;IACD,MAAMO,WAAW,GAAGV,WAAW,CAACO,gBAAgB,CAC9CN,KAAK,CAACU,gBAAgB,EACtB,MAAM;MACJP,OAAO,CAACJ,WAAW,CAACK,kBAAkB,CAAC,CAAC,CAAC;IAC3C,CACF,CAAC;IACD,OAAO,MAAM;MACXC,aAAa,CAACM,MAAM,CAAC,CAAC;MACtBF,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","TrackPlayer","Event","useActiveMediaItem","item","setItem","getActiveMediaItem","transitionSub","addEventListener","MediaItemTransition","event","metadataSub","MediaMetadataChanged","remove"],"sourceRoot":"../../../src","sources":["hooks/useActiveMediaItem.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAO,KAAKC,WAAW,MAAM,aAAU;AACvC,SAASC,KAAK,QAAQ,oBAAW;AAGjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGL,QAAQ,CAAmB,MACjDC,WAAW,CAACK,kBAAkB,CAAC,CACjC,CAAC;EAEDP,SAAS,CAAC,MAAM;IACd,MAAMQ,aAAa,GAAGN,WAAW,CAACO,gBAAgB,CAChDN,KAAK,CAACO,mBAAmB,EACxBC,KAAK,IAAK;MACTL,OAAO,CAACK,KAAK,CAACN,IAAI,CAAC;IACrB,CACF,CAAC;IACD,MAAMO,WAAW,GAAGV,WAAW,CAACO,gBAAgB,CAC9CN,KAAK,CAACU,oBAAoB,EAC1B,MAAM;MACJP,OAAO,CAACJ,WAAW,CAACK,kBAAkB,CAAC,CAAC,CAAC;IAC3C,CACF,CAAC;IACD,OAAO,MAAM;MACXC,aAAa,CAACM,MAAM,CAAC,CAAC;MACtBF,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,IAAI;AACb","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","TrackPlayer","useProgress","updateInterval","progress","setProgress","getProgress","id","setInterval","clearInterval"],"sourceRoot":"../../../src","sources":["hooks/useProgress.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAO,KAAKC,WAAW,MAAM,aAAU;AAGvC;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,cAAc,GAAG,CAAC,EAAY;EACxD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGL,QAAQ,CAAW,MACjDC,WAAW,CAACK,WAAW,CAAC,CAC1B,CAAC;EAEDP,SAAS,CAAC,MAAM;IACd,MAAMQ,EAAE,GAAGC,WAAW,CAAC,MAAM;MAC3BH,WAAW,CAACJ,WAAW,CAACK,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,EAAEH,cAAc,GAAG,IAAI,CAAC;IAEzB,OAAO,MAAMM,aAAa,CAACF,EAAE,CAAC;EAChC,CAAC,EAAE,CAACJ,cAAc,CAAC,CAAC;EAEpB,OAAOC,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","TrackPlayer","useProgress","updateInterval","progress","setProgress","getProgress","id","setInterval","clearInterval"],"sourceRoot":"../../../src","sources":["hooks/useProgress.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAO,KAAKC,WAAW,MAAM,aAAU;AAGvC;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,cAAsB,GAAG,CAAC,EAAY;EAChE,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGL,QAAQ,CAAW,MACjDC,WAAW,CAACK,WAAW,CAAC,CAC1B,CAAC;EAEDP,SAAS,CAAC,MAAM;IACd,MAAMQ,EAAE,GAAGC,WAAW,CAAC,MAAM;MAC3BH,WAAW,CAACJ,WAAW,CAACK,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC,EAAEH,cAAc,GAAG,IAAI,CAAC;IAEzB,OAAO,MAAMM,aAAa,CAACF,EAAE,CAAC;EAChC,CAAC,EAAE,CAACJ,cAAc,CAAC,CAAC;EAEpB,OAAOC,QAAQ;AACjB","ignoreList":[]}
@@ -24,6 +24,7 @@ export const DEFAULT_ANDROID_PLAYER_CONFIG = {
24
24
  export const DEFAULT_PLAYER_CONFIG = {
25
25
  contentType: 'music',
26
26
  handleAudioBecomingNoisy: true,
27
+ autoUpdateMetadataFromStream: true,
27
28
  android: DEFAULT_ANDROID_PLAYER_CONFIG
28
29
  };
29
30
  //# sourceMappingURL=PlayerConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CACHE_CONFIG","maxSizeBytes","DEFAULT_CAST_RECEIVER_APP_ID","DEFAULT_ANDROID_PLAYER_CONFIG","wakeMode","skipSilenceEnabled","DEFAULT_PLAYER_CONFIG","contentType","handleAudioBecomingNoisy","android"],"sourceRoot":"../../../src","sources":["interfaces/PlayerConfig.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAsCA,OAAO,MAAMA,oBAA+D,GAAG;EAC7EC,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,UAAU;;AAEtD;AACA,OAAO,MAAMC,6BAAkD,GAAG;EAChEC,QAAQ,EAAE,MAAM;EAChBC,kBAAkB,EAAE;AACtB,CAAC;AAwBD;AACA,OAAO,MAAMC,qBAIZ,GAAG;EACFC,WAAW,EAAE,OAAO;EACpBC,wBAAwB,EAAE,IAAI;EAC9BC,OAAO,EAAEN;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CACHE_CONFIG","maxSizeBytes","DEFAULT_CAST_RECEIVER_APP_ID","DEFAULT_ANDROID_PLAYER_CONFIG","wakeMode","skipSilenceEnabled","DEFAULT_PLAYER_CONFIG","contentType","handleAudioBecomingNoisy","autoUpdateMetadataFromStream","android"],"sourceRoot":"../../../src","sources":["interfaces/PlayerConfig.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAsCA,OAAO,MAAMA,oBAA+D,GAAG;EAC7EC,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAG,UAAU;;AAEtD;AACA,OAAO,MAAMC,6BAAkD,GAAG;EAChEC,QAAQ,EAAE,MAAM;EAChBC,kBAAkB,EAAE;AACtB,CAAC;AAwBD;AACA,OAAO,MAAMC,qBAIZ,GAAG;EACFC,WAAW,EAAE,OAAO;EACpBC,wBAAwB,EAAE,IAAI;EAC9BC,4BAA4B,EAAE,IAAI;EAClCC,OAAO,EAAEP;AACX,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/audio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/audio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Double Symmetry GmbH
3
+ * Commercial use requires a license. See https://rntp.dev/pricing
4
+ */
5
+ /**
6
+ * Fired when the *effective* metadata of the currently active MediaItem
7
+ * changes — i.e. the view that backs {@link getActiveMediaItem} and the system
8
+ * Now Playing info (lock screen, Bluetooth, Android Auto / CarPlay).
9
+ *
10
+ * Sources include:
11
+ * - Track transitions (the new active item's metadata)
12
+ * - Explicit {@link updateMetadata} calls
13
+ * - The native auto-update path that rewrites the active MediaItem when stream
14
+ * metadata (ICY / ID3) arrives — only fires when
15
+ * {@link PlayerConfig.autoUpdateMetadataFromStream} is enabled (the default).
16
+ *
17
+ * Contrast with {@link MetadataReceivedEvent}, which fires for every metadata
18
+ * frame the stream pushes (raw, pre-merge) regardless of whether the queue is
19
+ * updated. Many apps only need this event; subscribe to MetadataReceived only
20
+ * when you specifically need stream-truth (e.g. scrobbling).
21
+ *
22
+ * @since 5.1.0
23
+ */
24
+ export interface MediaMetadataChangedEvent {
25
+ title?: string;
26
+ artist?: string;
27
+ albumTitle?: string;
28
+ artworkUrl?: string;
29
+ genre?: string;
30
+ }
31
+ //# sourceMappingURL=MediaMetadataChanged.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMetadataChanged.d.ts","sourceRoot":"","sources":["../../../../src/events/MediaMetadataChanged.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -2,6 +2,21 @@
2
2
  * Copyright (c) Double Symmetry GmbH
3
3
  * Commercial use requires a license. See https://rntp.dev/pricing
4
4
  */
5
+ /**
6
+ * Fired for every metadata frame the audio stream pushes — ICY blocks
7
+ * (Shoutcast/Icecast radio), ID3 tags, Vorbis comments, QuickTime metadata.
8
+ * The payload reflects *stream-derived* fields only; user-supplied fields on
9
+ * the queued MediaItem (e.g. a static `genre` or `albumTitle`) are not
10
+ * merged in here.
11
+ *
12
+ * For the effective merged view that `getActiveMediaItem` returns (and that
13
+ * the lock screen / system Now Playing info reflects), subscribe to
14
+ * {@link MediaMetadataChangedEvent} instead.
15
+ *
16
+ * Typical consumers: analytics / scrobbling, sanitization pipelines that
17
+ * filter the raw stream before calling {@link updateMetadata} themselves
18
+ * (use with `PlayerConfig.autoUpdateMetadataFromStream: false`).
19
+ */
5
20
  export interface MetadataReceivedEvent {
6
21
  title?: string;
7
22
  artist?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataReceived.d.ts","sourceRoot":"","sources":["../../../../src/events/MetadataReceived.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"MetadataReceived.d.ts","sourceRoot":"","sources":["../../../../src/events/MetadataReceived.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -5,6 +5,7 @@
5
5
  import type { PlaybackStateChangedEvent } from './PlaybackStateChanged';
6
6
  import type { IsPlayingChangedEvent } from './IsPlayingChanged';
7
7
  import type { MediaItemTransitionEvent } from './MediaItemTransition';
8
+ import type { MediaMetadataChangedEvent } from './MediaMetadataChanged';
8
9
  import type { MetadataReceivedEvent } from './MetadataReceived';
9
10
  import type { RemotePlayEvent, RemotePauseEvent, RemoteNextEvent, RemotePreviousEvent, RemoteStopEvent, RemoteSeekEvent, RemoteSkipForwardEvent, RemoteSkipBackwardEvent } from './RemoteControl';
10
11
  import type { PlaybackErrorEvent } from './PlaybackError';
@@ -15,6 +16,7 @@ export declare enum Event {
15
16
  PlaybackStateChanged = "event.playback-state-changed",
16
17
  IsPlayingChanged = "event.is-playing-changed",
17
18
  MediaItemTransition = "event.media-item-transition",
19
+ MediaMetadataChanged = "event.media-metadata-changed",
18
20
  MetadataReceived = "event.metadata-received",
19
21
  PlaybackError = "event.playback-error",
20
22
  PlaybackProgressUpdated = "event.playback-progress-updated",
@@ -33,6 +35,7 @@ export type EventPayloadByEvent = {
33
35
  [Event.PlaybackStateChanged]: PlaybackStateChangedEvent;
34
36
  [Event.IsPlayingChanged]: IsPlayingChangedEvent;
35
37
  [Event.MediaItemTransition]: MediaItemTransitionEvent;
38
+ [Event.MediaMetadataChanged]: MediaMetadataChangedEvent;
36
39
  [Event.MetadataReceived]: MetadataReceivedEvent;
37
40
  [Event.PlaybackError]: PlaybackErrorEvent;
38
41
  [Event.PlaybackProgressUpdated]: PlaybackProgressUpdatedEvent;
@@ -62,6 +65,7 @@ export type BackgroundEvent = EventPayloadByEventWithType[keyof EventPayloadByEv
62
65
  export * from './PlaybackStateChanged';
63
66
  export * from './IsPlayingChanged';
64
67
  export * from './MediaItemTransition';
68
+ export * from './MediaMetadataChanged';
65
69
  export * from './MetadataReceived';
66
70
  export * from './RemoteControl';
67
71
  export * from './PlaybackError';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,oBAAY,KAAK;IACf,oBAAoB,iCAAiC;IACrD,gBAAgB,6BAA6B;IAC7C,mBAAmB,gCAAgC;IACnD,gBAAgB,4BAA4B;IAC5C,aAAa,yBAAyB;IACtC,uBAAuB,oCAAoC;IAC3D,YAAY,wBAAwB;IACpC,UAAU,sBAAsB;IAChC,WAAW,uBAAuB;IAClC,UAAU,sBAAsB;IAChC,cAAc,0BAA0B;IACxC,UAAU,sBAAsB;IAChC,UAAU,sBAAsB;IAChC,iBAAiB,8BAA8B;IAC/C,kBAAkB,+BAA+B;IACjD,mBAAmB,gCAAgC;CACpD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;IACxD,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAChD,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IACtD,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAChD,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC1C,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IAC9D,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACxC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACtC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC5C,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAClD,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;IACpD,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CACvD,CAAC;AAEF,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG;KACvC,CAAC,IAAI,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,KAAK,GAClE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,GACX,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GACzB,2BAA2B,CAAC,MAAM,2BAA2B,CAAC,CAAC;AAEjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/events/index.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,14 @@
4
4
  */
5
5
  import type { MediaItem } from '../interfaces';
6
6
  /**
7
- * Returns the currently active media item, updating on item transitions
8
- * and when stream metadata changes (e.g. ICY tags from live radio).
7
+ * Returns the currently active media item, updating on item transitions and
8
+ * whenever the active item's effective metadata changes (e.g. ICY tags from
9
+ * a live radio stream rewriting title/artist).
10
+ *
11
+ * Subscribes to {@link Event.MediaMetadataChanged} rather than
12
+ * {@link Event.MetadataReceived} so the re-read of {@link getActiveMediaItem}
13
+ * happens *after* native has finished merging the new metadata into the
14
+ * queued item — no race against the IPC that lands the auto-update.
9
15
  */
10
16
  export declare function useActiveMediaItem(): MediaItem | null;
11
17
  //# sourceMappingURL=useActiveMediaItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useActiveMediaItem.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useActiveMediaItem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAyBrD"}
1
+ {"version":3,"file":"useActiveMediaItem.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useActiveMediaItem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAyBrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProgress.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useProgress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,SAAI,GAAG,QAAQ,CAcxD"}
1
+ {"version":3,"file":"useProgress.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useProgress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,GAAE,MAAU,GAAG,QAAQ,CAchE"}
@@ -45,5 +45,20 @@ export interface MediaItem {
45
45
  * receiver can identify the format — without it the track will be skipped.
46
46
  */
47
47
  mimeType?: string;
48
+ /**
49
+ * App-defined payload attached to this media item. Opaque to the player —
50
+ * stored verbatim and returned unchanged by {@link getActiveMediaItem},
51
+ * {@link getQueue}, and the {@link Event.MediaItemTransition} event.
52
+ *
53
+ * Use this for app-specific metadata that should travel with the item
54
+ * (e.g. recommendation source, ISRC, internal IDs) without polluting the
55
+ * typed fields.
56
+ *
57
+ * Must be JSON-serializable. Keep payloads small — large blobs are better
58
+ * kept in your own JS state, keyed by {@link mediaId}.
59
+ *
60
+ * @since 5.1.0
61
+ */
62
+ extras?: Record<string, unknown>;
48
63
  }
49
64
  //# sourceMappingURL=MediaItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaItem.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/MediaItem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"MediaItem.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/MediaItem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -110,6 +110,21 @@ export interface PlayerConfig {
110
110
  * (e.g. headphones disconnected). Defaults to true.
111
111
  */
112
112
  handleAudioBecomingNoisy?: boolean;
113
+ /**
114
+ * When `true`, stream-derived metadata (ICY/ID3) automatically updates the
115
+ * MediaItem in the queue, keeping `getActiveMediaItem()` and the system Now
116
+ * Playing info (lock screen, notification, CarPlay/Android Auto) in sync with
117
+ * the live title — without requiring app code to be running.
118
+ *
119
+ * When `false`, only the {@link Event.MetadataReceived} event is emitted; the
120
+ * queue MediaItem is left untouched. Use this to filter/sanitize stream
121
+ * metadata yourself and call {@link updateMetadata} from a listener or
122
+ * background event handler.
123
+ *
124
+ * @default true
125
+ * @since 5.1.0
126
+ */
127
+ autoUpdateMetadataFromStream?: boolean;
113
128
  /**
114
129
  * Enable disk caching and preloading.
115
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerConfig.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/PlayerConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAE1E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,4CAA4C;AAC5C,eAAO,MAAM,6BAA6B,EAAE,mBAG3C,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACvC,qBAAqB;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,GAAG,cAAc,CAAC,CACzD,GAAG;IACF,OAAO,EAAE,mBAAmB,CAAC;CAK9B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"PlayerConfig.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/PlayerConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAE1E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,4CAA4C;AAC5C,eAAO,MAAM,6BAA6B,EAAE,mBAG3C,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACvC,qBAAqB;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,GAAG,cAAc,CAAC,CACzD,GAAG;IACF,OAAO,EAAE,mBAAmB,CAAC;CAM9B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;OAaG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rntp/player",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "The premium audio player for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "react-native": "./src/index.tsx",
package/src/audio.ts CHANGED
@@ -107,6 +107,9 @@ function normalizePlayerConfig(options: PlayerConfig) {
107
107
  handleAudioBecomingNoisy:
108
108
  options.handleAudioBecomingNoisy ??
109
109
  DEFAULT_PLAYER_CONFIG.handleAudioBecomingNoisy,
110
+ autoUpdateMetadataFromStream:
111
+ options.autoUpdateMetadataFromStream ??
112
+ DEFAULT_PLAYER_CONFIG.autoUpdateMetadataFromStream,
110
113
  ...(cache ? { cache } : {}),
111
114
  ...(options.progressSync ? { progressSync: options.progressSync } : {}),
112
115
  android,
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Double Symmetry GmbH
3
+ * Commercial use requires a license. See https://rntp.dev/pricing
4
+ */
5
+
6
+ /**
7
+ * Fired when the *effective* metadata of the currently active MediaItem
8
+ * changes — i.e. the view that backs {@link getActiveMediaItem} and the system
9
+ * Now Playing info (lock screen, Bluetooth, Android Auto / CarPlay).
10
+ *
11
+ * Sources include:
12
+ * - Track transitions (the new active item's metadata)
13
+ * - Explicit {@link updateMetadata} calls
14
+ * - The native auto-update path that rewrites the active MediaItem when stream
15
+ * metadata (ICY / ID3) arrives — only fires when
16
+ * {@link PlayerConfig.autoUpdateMetadataFromStream} is enabled (the default).
17
+ *
18
+ * Contrast with {@link MetadataReceivedEvent}, which fires for every metadata
19
+ * frame the stream pushes (raw, pre-merge) regardless of whether the queue is
20
+ * updated. Many apps only need this event; subscribe to MetadataReceived only
21
+ * when you specifically need stream-truth (e.g. scrobbling).
22
+ *
23
+ * @since 5.1.0
24
+ */
25
+ export interface MediaMetadataChangedEvent {
26
+ title?: string;
27
+ artist?: string;
28
+ albumTitle?: string;
29
+ artworkUrl?: string;
30
+ genre?: string;
31
+ }
@@ -3,6 +3,21 @@
3
3
  * Commercial use requires a license. See https://rntp.dev/pricing
4
4
  */
5
5
 
6
+ /**
7
+ * Fired for every metadata frame the audio stream pushes — ICY blocks
8
+ * (Shoutcast/Icecast radio), ID3 tags, Vorbis comments, QuickTime metadata.
9
+ * The payload reflects *stream-derived* fields only; user-supplied fields on
10
+ * the queued MediaItem (e.g. a static `genre` or `albumTitle`) are not
11
+ * merged in here.
12
+ *
13
+ * For the effective merged view that `getActiveMediaItem` returns (and that
14
+ * the lock screen / system Now Playing info reflects), subscribe to
15
+ * {@link MediaMetadataChangedEvent} instead.
16
+ *
17
+ * Typical consumers: analytics / scrobbling, sanitization pipelines that
18
+ * filter the raw stream before calling {@link updateMetadata} themselves
19
+ * (use with `PlayerConfig.autoUpdateMetadataFromStream: false`).
20
+ */
6
21
  export interface MetadataReceivedEvent {
7
22
  title?: string;
8
23
  artist?: string;
@@ -6,6 +6,7 @@
6
6
  import type { PlaybackStateChangedEvent } from './PlaybackStateChanged';
7
7
  import type { IsPlayingChangedEvent } from './IsPlayingChanged';
8
8
  import type { MediaItemTransitionEvent } from './MediaItemTransition';
9
+ import type { MediaMetadataChangedEvent } from './MediaMetadataChanged';
9
10
  import type { MetadataReceivedEvent } from './MetadataReceived';
10
11
  import type {
11
12
  RemotePlayEvent,
@@ -26,6 +27,7 @@ export enum Event {
26
27
  PlaybackStateChanged = 'event.playback-state-changed',
27
28
  IsPlayingChanged = 'event.is-playing-changed',
28
29
  MediaItemTransition = 'event.media-item-transition',
30
+ MediaMetadataChanged = 'event.media-metadata-changed',
29
31
  MetadataReceived = 'event.metadata-received',
30
32
  PlaybackError = 'event.playback-error',
31
33
  PlaybackProgressUpdated = 'event.playback-progress-updated',
@@ -45,6 +47,7 @@ export type EventPayloadByEvent = {
45
47
  [Event.PlaybackStateChanged]: PlaybackStateChangedEvent;
46
48
  [Event.IsPlayingChanged]: IsPlayingChangedEvent;
47
49
  [Event.MediaItemTransition]: MediaItemTransitionEvent;
50
+ [Event.MediaMetadataChanged]: MediaMetadataChangedEvent;
48
51
  [Event.MetadataReceived]: MetadataReceivedEvent;
49
52
  [Event.PlaybackError]: PlaybackErrorEvent;
50
53
  [Event.PlaybackProgressUpdated]: PlaybackProgressUpdatedEvent;
@@ -75,6 +78,7 @@ export type BackgroundEvent =
75
78
  export * from './PlaybackStateChanged';
76
79
  export * from './IsPlayingChanged';
77
80
  export * from './MediaItemTransition';
81
+ export * from './MediaMetadataChanged';
78
82
  export * from './MetadataReceived';
79
83
  export * from './RemoteControl';
80
84
  export * from './PlaybackError';
@@ -9,8 +9,14 @@ import { Event } from '../events';
9
9
  import type { MediaItem } from '../interfaces';
10
10
 
11
11
  /**
12
- * Returns the currently active media item, updating on item transitions
13
- * and when stream metadata changes (e.g. ICY tags from live radio).
12
+ * Returns the currently active media item, updating on item transitions and
13
+ * whenever the active item's effective metadata changes (e.g. ICY tags from
14
+ * a live radio stream rewriting title/artist).
15
+ *
16
+ * Subscribes to {@link Event.MediaMetadataChanged} rather than
17
+ * {@link Event.MetadataReceived} so the re-read of {@link getActiveMediaItem}
18
+ * happens *after* native has finished merging the new metadata into the
19
+ * queued item — no race against the IPC that lands the auto-update.
14
20
  */
15
21
  export function useActiveMediaItem(): MediaItem | null {
16
22
  const [item, setItem] = useState<MediaItem | null>(() =>
@@ -25,7 +31,7 @@ export function useActiveMediaItem(): MediaItem | null {
25
31
  }
26
32
  );
27
33
  const metadataSub = TrackPlayer.addEventListener(
28
- Event.MetadataReceived,
34
+ Event.MediaMetadataChanged,
29
35
  () => {
30
36
  setItem(TrackPlayer.getActiveMediaItem());
31
37
  }
@@ -11,7 +11,7 @@ import type { Progress } from '../interfaces';
11
11
  * Returns the current playback progress, polling at the given interval.
12
12
  * @param updateInterval Polling interval in seconds (default: 1)
13
13
  */
14
- export function useProgress(updateInterval = 1): Progress {
14
+ export function useProgress(updateInterval: number = 1): Progress {
15
15
  const [progress, setProgress] = useState<Progress>(() =>
16
16
  TrackPlayer.getProgress()
17
17
  );
@@ -47,4 +47,19 @@ export interface MediaItem {
47
47
  * receiver can identify the format — without it the track will be skipped.
48
48
  */
49
49
  mimeType?: string;
50
+ /**
51
+ * App-defined payload attached to this media item. Opaque to the player —
52
+ * stored verbatim and returned unchanged by {@link getActiveMediaItem},
53
+ * {@link getQueue}, and the {@link Event.MediaItemTransition} event.
54
+ *
55
+ * Use this for app-specific metadata that should travel with the item
56
+ * (e.g. recommendation source, ISRC, internal IDs) without polluting the
57
+ * typed fields.
58
+ *
59
+ * Must be JSON-serializable. Keep payloads small — large blobs are better
60
+ * kept in your own JS state, keyed by {@link mediaId}.
61
+ *
62
+ * @since 5.1.0
63
+ */
64
+ extras?: Record<string, unknown>;
50
65
  }
@@ -85,6 +85,7 @@ export const DEFAULT_PLAYER_CONFIG: Required<
85
85
  } = {
86
86
  contentType: 'music',
87
87
  handleAudioBecomingNoisy: true,
88
+ autoUpdateMetadataFromStream: true,
88
89
  android: DEFAULT_ANDROID_PLAYER_CONFIG,
89
90
  };
90
91
 
@@ -134,6 +135,21 @@ export interface PlayerConfig {
134
135
  * (e.g. headphones disconnected). Defaults to true.
135
136
  */
136
137
  handleAudioBecomingNoisy?: boolean;
138
+ /**
139
+ * When `true`, stream-derived metadata (ICY/ID3) automatically updates the
140
+ * MediaItem in the queue, keeping `getActiveMediaItem()` and the system Now
141
+ * Playing info (lock screen, notification, CarPlay/Android Auto) in sync with
142
+ * the live title — without requiring app code to be running.
143
+ *
144
+ * When `false`, only the {@link Event.MetadataReceived} event is emitted; the
145
+ * queue MediaItem is left untouched. Use this to filter/sanitize stream
146
+ * metadata yourself and call {@link updateMetadata} from a listener or
147
+ * background event handler.
148
+ *
149
+ * @default true
150
+ * @since 5.1.0
151
+ */
152
+ autoUpdateMetadataFromStream?: boolean;
137
153
  /**
138
154
  * Enable disk caching and preloading.
139
155
  *