Capabilities Play & Pause do not Toggle Correctly {playWhenReady state}
Describe the Bug On IOS and Android, the media controls in notification tray are visible but the play/pause toggle is finicky. Skip-next and skip-previous work without issues. On IOS, the play/pause button works after tapping at least 2 times. It seems to be out of sync with the playWhenReady state, evident in XCode logs below. On Android, the play/pause toggle does not work at all.
Bug in Action:
https://github.com/user-attachments/assets/faea093a-be55-48bb-b746-04de265f6df4
Corresponding Logs from xcode (Sorry, wish xcode provided timestamps of the logs to make this cleaner):
'Event.PlaybackState', { state: 'buffering' }
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: true }
'Event.PlaybackState', { state: 'playing' }
'Event.PlaybackState', { state: 'paused' }
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: false }
Event.RemotePause
Event.RemotePlay
'Event.PlaybackState', { state: 'buffering' }
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: true }
'Event.PlaybackState', { state: 'playing' }
Event.RemotePlay
Event.RemotePause
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: false }
'Event.PlaybackState', { state: 'paused' }
Event.RemotePause
Event.RemotePlay
'Event.PlaybackState', { state: 'buffering' }
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: true }
'Event.PlaybackState', { state: 'playing' }
Event.RemoteNext
'Event.PlaybackState', { state: 'loading' }
'Event.PlaybackActiveTrackChanged', { index: 1,
track:
{ url: 'https://radios.radiohd.com.mx/8274/stream',
artist: 'Grupo Radar',
title: 'Crystal 101.1',
id: 2,
isLiveStream: true,
artwork: 'http://192.168.0.3:8081/assets/app/assets/images/cristal101.1-albumart.png?platform=ios&hash=fc27aba32a79b783d2faf05c3f07aa3a' },
lastPosition: 10.58981607,
lastIndex: 0,
lastTrack:
{ isLiveStream: true,
artist: 'Grupo Radar',
artwork: 'http://192.168.0.3:8081/assets/app/assets/images/radar107.5-albumart.png?platform=ios&hash=7fba4d1ebf4f6e2cad49c6aade0bee5b',
url: 'https://radios.radiohd.com.mx/8268/stream',
id: 1,
title: 'Radar 107.5' } }
'Event.PlaybackState', { state: 'buffering' }
'Event.PlaybackState', { state: 'ready' }
'Event.PlaybackState', { state: 'playing' }
Event.RemotePlay
Event.RemotePause
'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: false }
'Event.PlaybackState', { state: 'paused' }
Message from debugger: killed
Steps To Reproduce Setup a RNTP app using code from the Example app as reference and Website documentation for getting started. Play audio, pull does notification tray and attempt to toggle pause / play for currently playing track.
Code To Reproduce
App.tsx
import React, {useState, useEffect} from 'react';
import {ActivityIndicator, SafeAreaView, StyleSheet, View} from 'react-native';
import {addTrack} from './services/audioPlayerServices';
import {SetupService} from './services/SetupService';
import MusicPlayer from './screens/MusicPlayer';
import '../global.css';
import TrackPlayer from 'react-native-track-player';
import {GestureHandlerRootView} from 'react-native-gesture-handler';
export default function App() {
return (
<GestureHandlerRootView className="flex-1">
<Inner />
</GestureHandlerRootView>
);
}
const Inner: React.FC = () => {
const isPlayerReady = useSetupPlayer();
if (!isPlayerReady) {
return (
<SafeAreaView style={styles.screenContainer}>
<ActivityIndicator />
</SafeAreaView>
);
}
return (
<SafeAreaView style={styles.screenContainer}>
<View>
<View>
<MusicPlayer />
</View>
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
screenContainer: {
flex: 1,
backgroundColor: '#86efac',
alignItems: 'center',
justifyContent: 'center',
},
});
function useSetupPlayer() {
const [playerReady, setPlayerReady] = useState<boolean>(false);
useEffect(() => {
let unmounted = false;
(async () => {
await SetupService();
if (unmounted) {
return;
}
setPlayerReady(true);
const queue = await TrackPlayer.getQueue();
if (unmounted) {
return;
}
if (queue.length <= 0) {
await addTrack();
}
})();
return () => {
unmounted = true;
};
}, []);
return playerReady;
}
Component/ControlCenter.tsx
import React from 'react';
import {View, StyleSheet, Pressable} from 'react-native';
import TrackPlayer, {usePlaybackState} from 'react-native-track-player';
import Icon from 'react-native-vector-icons/MaterialIcons';
import {PlayPauseButton} from './PlayPauseButton';
import {PlaybackError} from './PlaybackError';
//Next Button
const skipToNext = async () => {
await TrackPlayer.skipToNext();
};
//Previous Button
const skipToPrevious = async () => {
await TrackPlayer.skipToPrevious();
};
const ControlCenter = () => {
const playbackState = usePlaybackState();
return (
<View style={styles.container}>
<View style={styles.controls}>
<Pressable onPress={skipToPrevious}>
<Icon style={styles.icon} name="skip-previous" />
</Pressable>
<PlayPauseButton />
<Pressable onPress={skipToNext}>
<Icon style={styles.icon} name="skip-next" />
</Pressable>
</View>
<PlaybackError
error={
'error' in playbackState ? playbackState.error.message : undefined
}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 20,
},
controls: {
marginBottom: 56,
flexDirection: 'row',
alignItems: 'center',
},
icon: {
color: '#FFFFFF',
fontSize: 40,
},
});
export default ControlCenter;
Component/PlayPauseButton.tsx
import React from 'react';
import {ActivityIndicator, Pressable, StyleSheet, View} from 'react-native';
import TrackPlayer, {useIsPlaying} from 'react-native-track-player';
import FontAwesome6 from 'react-native-vector-icons/FontAwesome6';
export const PlayPauseButton: React.FC = () => {
const {playing, bufferingDuringPlay} = useIsPlaying();
return (
<View style={styles.container}>
{bufferingDuringPlay ? (
<ActivityIndicator />
) : (
<Pressable onPress={playing ? TrackPlayer.pause : TrackPlayer.play}>
<FontAwesome6
name={playing ? 'pause' : 'play'}
size={48}
color={'white'}
/>
</Pressable>
)}
</View>
);
};
const styles = StyleSheet.create({
container: {
height: 50,
width: 120,
alignItems: 'center',
justifyContent: 'center',
},
});
Services/SetupService.ts
import TrackPlayer, {
AppKilledPlaybackBehavior,
Capability,
RepeatMode,
} from 'react-native-track-player';
export const DefaultRepeatMode = RepeatMode.Queue;
/*
This is the default behavior when stopping the app in the recents menu for android.
* ContinuePlayback (default)
This option will continue playing audio in the background when the app is removed from recents. The notification remains. This is the default.
PausePlayback
This option will pause playing audio in the background when the app is removed from recents. The notification remains and can be used to resume playback.
StopPlaybackAndRemoveNotification
This option will stop playing audio in the background when the app is removed from recents. The notification is removed and can't be used to resume playback. Users would need to open the app again to start playing audio.
*/
export const DefaultAudioServiceBehaviour =
AppKilledPlaybackBehavior.StopPlaybackAndRemoveNotification;
const setupPlayer = async (
options: Parameters<typeof TrackPlayer.setupPlayer>[0],
) => {
const setup = async () => {
try {
await TrackPlayer.setupPlayer(options);
} catch (error) {
return (error as Error & {code?: string}).code;
}
};
while ((await setup()) === 'android_cannot_setup_player_in_background') {
// A timeout will mostly only execute when the app is in the foreground,
// and even if we were in the background still, it will reject the promise
// and we'll try again:
await new Promise<void>(resolve => setTimeout(resolve, 1));
}
};
export const SetupService = async () => {
await setupPlayer({
autoHandleInterruptions: true,
});
await TrackPlayer.updateOptions({
android: {
appKilledPlaybackBehavior: DefaultAudioServiceBehaviour,
},
capabilities: [
Capability.Play,
Capability.Pause,
Capability.SkipToNext,
Capability.SkipToPrevious,
],
compactCapabilities: [
Capability.Play,
Capability.Pause,
Capability.SkipToNext,
Capability.SkipToPrevious,
],
progressUpdateEventInterval: 2,
});
await TrackPlayer.setRepeatMode(DefaultRepeatMode);
};
Services/audioPlayerService.js
import TrackPlayer, {Event} from 'react-native-track-player';
import {playListData} from '../assets/data/radioStreams';
//Add Track Data to Queue and set repeat mode to Queue
export async function addTrack() {
await TrackPlayer.add(playListData);
}
//Add listen events for button presses
export async function playbackService() {
TrackPlayer.addEventListener(Event.RemotePlay, () => {
console.log('Event.RemotePause');
TrackPlayer.pause();
});
TrackPlayer.addEventListener(Event.RemotePause, () => {
console.log('Event.RemotePlay');
TrackPlayer.play();
});
TrackPlayer.addEventListener(Event.RemoteNext, () => {
console.log('Event.RemoteNext');
TrackPlayer.skipToNext();
});
TrackPlayer.addEventListener(Event.RemotePrevious, () => {
console.log('Event.RemotePrevious');
TrackPlayer.skipToPrevious();
});
TrackPlayer.addEventListener(Event.RemoteStop, () => {
console.log('Event.RemoteStop');
TrackPlayer.stop();
});
TrackPlayer.addEventListener(Event.PlaybackActiveTrackChanged, event => {
console.log('Event.PlaybackActiveTrackChanged', event);
});
TrackPlayer.addEventListener(Event.PlaybackQueueEnded, event => {
console.log('Event.PlaybackQueueEnded', event);
});
TrackPlayer.addEventListener(Event.RemoteDuck, async event => {
console.log('Event.RemoteDuck', event);
});
TrackPlayer.addEventListener(Event.PlaybackPlayWhenReadyChanged, event => {
console.log('Event.PlaybackPlayWhenReadyChanged', event);
});
TrackPlayer.addEventListener(Event.PlaybackState, event => {
console.log('Event.PlaybackState', event);
});
TrackPlayer.addEventListener(Event.MetadataChapterReceived, event => {
console.log('Event.MetadataChapterReceived', event);
});
}
Replicable on Example App? Can you replicate this bug in the React Native Track Player Example App?
No, I can not. I pulled the current Example app and tested it in Android where it worked without issues. I could not test in IOS as the pod install command failed to update the ios folder. I haven't gotten time to troubleshoot it. This let me to update my code to closer match what is in the Example APP, but as you can see it still does not work.
Environment Info:
Paste the results of npx react-native info
npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 15.3.1
CPU: (8) arm64 Apple M1
Memory: 147.59 MB / 8.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 23.7.0
path: /opt/homebrew/bin/node
Yarn:
version: 1.22.22
path: /opt/homebrew/bin/yarn
npm:
version: 11.1.0
path: ~/node_modules/.bin/npm
Watchman:
version: 2025.02.10.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/lib/ruby/gems/3.4.0/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK: Not Found
IDEs:
Android Studio: 2024.2 AI-242.23726.103.2422.13016713
Xcode:
version: 16.2/16C5032a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.14
path: /usr/bin/javac
Ruby:
version: 3.4.2
path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: true
info React Native v0.78.0 is now available (your project is running on v0.77.1).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.78.0
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.77.1&to=0.78.0
info For more info, check out "https://reactnative.dev/docs/upgrading?os=macos".
Paste the exact react-native-track-player version you are using
[email protected]
Real device? Or simulator?
I have tested on an Android Simulator SDK 34 and iPhone 14 pro running latest IOS 18.3.1
What OS are you running? MacOS 15.3.1
How I can Help What can you do to help resolve this? Have you investigated the underlying JS or Swift/Android code causing this bug? I have looked into kotlinaudio and how it's suppose to work, where playWhenReady controls where the toggle plays or paused based on true or false. This is how i realized that the toggle does not update the playWhenReady state on first press in IOS. https://developer.android.com/media/implement/surfaces/mobile Can you create a Pull Request with a fix? No, I have not yet figured out how to fix this yet. I tried add a line to my Event.RemotePlay to forcefully update playWhenReady state, but that did not work.
Android Test and Logs These logs also show that on android the playWhenReady state is not being updated on press of Capabilities.Play and Capabilities.Pause
Video of Bug: https://youtu.be/_NuprIR827U
Corresponding Logs from Android Studio:
2025-03-10 10:09:46.877 551-1686 MediaFocusControl system_server I requestAudioFocus() from uid/pid 10193/9390 AA=USAGE_MEDIA/CONTENT_TYPE_MUSIC clientId=android.media.AudioManager@a303eadcom.google.android.exoplayer2.AudioFocusManager$AudioFocusListener@7195e2 callingPack=com.gruporadarradio req=1 flags=0x0 sdk=34
2025-03-10 10:09:46.899 551-1478 MediaSessionStack system_server I onPlaybackStateChanged - Pushing session to top | record: com.gruporadarradio/KotlinAudioPlayer (userId=0)
2025-03-10 10:09:46.912 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=0, buffered position=38683, speed=1.0, updated=696959, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:46.925 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:46.932 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:46.952 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=0, buffered position=38683, speed=1.0, updated=696959, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:46.961 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:46.982 9390-9564 AudioTrack com.gruporadarradio D getTimestamp_l(20): device stall time corrected using current time 697038145080
2025-03-10 10:09:46.986 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:47.067 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 1(8192 size) total buffers - 1(8192 size) used buffers - 15/21 (recycle/alloc) - 7/20 (fetch/transfer)
2025-03-10 10:09:47.081 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:09:47.108 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: true }
2025-03-10 10:09:47.113 551-1612 ActivityManager system_server I Background started FGS: Allowed [callingPackage: com.gruporadarradio; callingUid: 10193; uidState: TOP ; uidBFSL: [BFSL]; intent: Intent { cmp=com.gruporadarradio/com.doublesymmetry.trackplayer.service.MusicService }; code:PROC_STATE_TOP; tempAllowListReason:<null>; targetSdkVersion:34; callerTargetSdkVersion:34; startForegroundCount:1; bindFromPackage:null: isBindService:false]
2025-03-10 10:09:47.125 9390-9390 MusicService com.gruporadarradio D notification has been foregrounded
2025-03-10 10:09:47.177 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'playing' }
2025-03-10 10:09:47.220 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=24504.54ms min=24504.54ms max=24504.54ms count=1
2025-03-10 10:09:49.982 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PAUSED(2), position=2995, buffered position=42770, speed=0.0, updated=700041, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:49.988 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:49.989 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:50.006 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PAUSED(2), position=2995, buffered position=42770, speed=0.0, updated=700041, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:50.009 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:50.016 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:50.021 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=false
2025-03-10 10:09:50.037 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: false }
2025-03-10 10:09:50.049 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'paused' }
2025-03-10 10:09:50.071 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=2851.58ms min=2851.58ms max=2851.58ms count=1
2025-03-10 10:09:52.541 9390-9564 AudioTrack com.gruporadarradio D getTimestamp_l(20): device stall time corrected using current time 702602266082
2025-03-10 10:09:52.542 551-1612 MediaSessionStack system_server I onPlaybackStateChanged - Pushing session to top | record: com.gruporadarradio/KotlinAudioPlayer (userId=0)
2025-03-10 10:09:52.544 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=3001, buffered position=44813, speed=1.0, updated=702603, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:52.548 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:52.551 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:52.566 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=3001, buffered position=44813, speed=1.0, updated=702603, actions=6553782, custom actions=[], active item id=0, error=null}
2025-03-10 10:09:52.571 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:09:52.571 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: true }
2025-03-10 10:09:52.573 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:09:52.573 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:09:52.582 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:09:52.593 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'playing' }
2025-03-10 10:09:52.640 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=2568.65ms min=2568.65ms max=2568.65ms count=1
2025-03-10 10:09:52.696 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 1(8192 size) used buffers - 78/88 (recycle/alloc) - 12/87 (fetch/transfer)
2025-03-10 10:09:56.597 551-861 MediaSessionService system_server I tempAllowlistTargetPkgIfPossible callingPackage:com.android.systemui targetPackage:com.gruporadarradio reason:MediaSessionRecord:pause [WIU] [FGS]
2025-03-10 10:09:56.646 9390-9534 ReactNativeJS com.gruporadarradio I Event.RemotePlay
2025-03-10 10:09:57.815 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 1(8192 size) used buffers - 188/198 (recycle/alloc) - 16/197 (fetch/transfer)
2025-03-10 10:09:58.270 551-861 MediaSessionService system_server I tempAllowlistTargetPkgIfPossible callingPackage:com.android.systemui targetPackage:com.gruporadarradio reason:MediaSessionRecord:pause [WIU] [FGS]
2025-03-10 10:09:58.281 9390-9534 ReactNativeJS com.gruporadarradio I Event.RemotePlay
2025-03-10 10:09:59.637 551-861 MediaSessionService system_server I tempAllowlistTargetPkgIfPossible callingPackage:com.android.systemui targetPackage:com.gruporadarradio reason:MediaSessionRecord:pause [WIU] [FGS]
2025-03-10 10:09:59.640 9390-9534 ReactNativeJS com.gruporadarradio I Event.RemotePlay
2025-03-10 10:10:01.604 551-1686 MediaSessionService system_server I tempAllowlistTargetPkgIfPossible callingPackage:com.android.systemui targetPackage:com.gruporadarradio reason:MediaSessionRecord:pause [WIU] [FGS]
2025-03-10 10:10:01.612 9390-9534 ReactNativeJS com.gruporadarradio I Event.RemotePlay
2025-03-10 10:10:03.008 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 1(8192 size) used buffers - 300/310 (recycle/alloc) - 16/309 (fetch/transfer)
2025-03-10 10:10:03.053 551-1958 MediaSessionService system_server I tempAllowlistTargetPkgIfPossible callingPackage:com.android.systemui targetPackage:com.gruporadarradio reason:MediaSessionRecord:next [WIU] [FGS]
2025-03-10 10:10:03.071 9390-9534 ReactNativeJS com.gruporadarradio I Event.RemoteNext
2025-03-10 10:10:03.104 9390-9587 CCodecBuffers com.gruporadarradio D [c2.android.aac.decoder#345:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
2025-03-10 10:10:03.104 9390-9587 CCodecBuffers com.gruporadarradio D [c2.android.aac.decoder#345:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
2025-03-10 10:10:03.104 9390-9587 CCodecBuffers com.gruporadarradio D [c2.android.aac.decoder#345:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 2
2025-03-10 10:10:03.113 9390-9564 MediaCodec com.gruporadarradio D keep callback message for reclaim
2025-03-10 10:10:03.114 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713148, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.116 9390-9587 CCodecConfig com.gruporadarradio I query failed after returning 20 values (BAD_INDEX)
2025-03-10 10:10:03.118 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1342179345.
2025-03-10 10:10:03.118 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 2415921170.
2025-03-10 10:10:03.118 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1610614798.
2025-03-10 10:10:03.138 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713148, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.141 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:03.142 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:03.147 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.156 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:03.157 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:03.179 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.180 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.181 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.186 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.239 9390-9582 TrafficStats com.gruporadarradio D tagSocket(134) with statsTag=0xffffffff, statsUid=-1
2025-03-10 10:10:03.254 9390-9612 TrafficStats com.gruporadarradio D tagSocket(204) with statsTag=0xffffffff, statsUid=-1
2025-03-10 10:10:03.283 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=-9223372036854775807, speed=0.0, updated=713318, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.283 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.289 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=-9223372036854775807, speed=0.0, updated=713318, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.289 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.289 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.290 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.322 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.323 9390-9616 TrafficStats com.gruporadarradio D tagSocket(231) with statsTag=0xffffffff, statsUid=-1
2025-03-10 10:10:03.325 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.326 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713333, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.326 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.326 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713333, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:03.326 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.357 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:03.367 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:03.378 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:03.382 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:03.406 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackActiveTrackChanged', { lastTrack:
{ title: 'Radar 107.5',
url: 'https://radios.radiohd.com.mx/8268/stream',
artwork: 'http://10.0.2.2:8081/assets/app/assets/images/radar107.5-albumart.png?platform=android&hash=7fba4d1ebf4f6e2cad49c6aade0bee5b',
id: 1,
isLiveStream: true,
artist: 'Grupo Radar' },
lastIndex: 0,
track:
{ title: 'Crystal 101.1',
url: 'https://radios.radiohd.com.mx/8274/stream',
artwork: 'http://10.0.2.2:8081/assets/app/assets/images/cristal101.1-albumart.png?platform=android&hash=fc27aba32a79b783d2faf05c3f07aa3a',
id: 2,
isLiveStream: true,
artist: 'Grupo Radar' },
index: 1,
lastPosition: 13.562 }
2025-03-10 10:10:03.412 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'loading' }
2025-03-10 10:10:03.494 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'buffering' }
2025-03-10 10:10:03.512 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.522 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.531 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.531 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.649 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:03.654 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:03.712 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=11071.75ms min=11071.75ms max=11071.75ms count=1
2025-03-10 10:10:03.714 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:03.729 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:03.754 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:03.759 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:03.789 9390-9410 gruporadarradio com.gruporadarradio I Background concurrent copying GC freed 36166(1803KB) AllocSpace objects, 3(60KB) LOS objects, 49% free, 8605KB/16MB, paused 92us,23us total 383.219ms
2025-03-10 10:10:03.890 9390-9564 MediaCodec com.gruporadarradio D keep callback message for reclaim
2025-03-10 10:10:03.890 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.909 9390-9587 CCodecConfig com.gruporadarradio I query failed after returning 20 values (BAD_INDEX)
2025-03-10 10:10:03.909 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.910 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1342179345.
2025-03-10 10:10:03.910 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 2415921170.
2025-03-10 10:10:03.910 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1610614798.
2025-03-10 10:10:03.942 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:03.962 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:03.967 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713947, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:04.012 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.031 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=713947, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:04.036 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.144 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.222 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.257 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=0, buffered position=8033, speed=1.0, updated=714114, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:04.281 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:04.286 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:04.295 9390-9564 AudioTrack com.gruporadarradio D getTimestamp_l(21): device stall time corrected using current time 714356618088
2025-03-10 10:10:04.372 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=0, buffered position=8033, speed=1.0, updated=714114, actions=6553782, custom actions=[], active item id=1, error=null}
2025-03-10 10:10:04.378 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:04.390 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:04.423 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:04.448 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.473 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:04.473 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.616 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.622 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:04.678 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:04.681 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:04.681 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:04.682 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:04.722 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=28.05ms min=3.57ms max=88.78ms count=31
2025-03-10 10:10:04.731 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'ready' }
2025-03-10 10:10:04.856 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'playing' }
2025-03-10 10:10:08.184 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 1(8192 size) used buffers - 410/420 (recycle/alloc) - 16/413 (fetch/transfer)
2025-03-10 10:10:10.750 551-572 WindowManager system_server V info={id=10 t=OPEN f=0x0 trk=0 r=[0@Point(0, 0)] c=[{WCT{RemoteToken{728664 Task{fede787 #44 type=home}}} m=TO_FRONT f=SHOW_WALLPAPER|MOVE_TO_TOP leash=Surface(name=Task=44)/@0x1846c6a sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0},{WCT{RemoteToken{a6df01b Task{3ff4879 #47 type=standard A=10193:com.gruporadarradio}}} m=TO_BACK f=NONE leash=Surface(name=Task=47)/@0xf85d715 sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0},{null m=TO_FRONT f=IS_WALLPAPER leash=Surface(name=WallpaperWindowToken{9abffe9 token=android.os.Binder@e9f8070})/@0xca21243 sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0}]}
2025-03-10 10:10:12.300 551-861 AppsFilter system_server I interaction: PackageSetting{428d156 com.gruporadarradio/10193} -> PackageSetting{29b005b com.google.android.apps.nexuslauncher/10163} BLOCKED
2025-03-10 10:10:12.305 551-861 ActivityTaskManager system_server I START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.gruporadarradio/.MainActivity bnds=[832,1873][1005,2068]} with LAUNCH_SINGLE_TASK from uid 10163 (BAL_ALLOW_ALLOWLISTED_COMPONENT) result code=2
2025-03-10 10:10:12.305 776-825 WindowManagerShell com.android.systemui V Transition requested: android.os.BinderProxy@923f3d3 TransitionRequestInfo { type = OPEN, triggerTask = TaskInfo{userId=0 taskId=47 displayId=0 isRunning=true baseIntent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.gruporadarradio/.MainActivity } baseActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} topActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} origActivity=null realActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} numActivities=1 lastActiveTime=720057 supportsMultiWindow=true resizeMode=1 isResizeable=true minWidth=-1 minHeight=-1 defaultMinSize=220 token=WCT{android.window.IWindowContainerToken$Stub$Proxy@cb4b10} topActivityType=1 pictureInPictureParams=null shouldDockBigOverlays=false launchIntoPipHostTaskId=-1 lastParentTaskIdBeforePip=-1 displayCutoutSafeInsets=null topActivityInfo=ActivityInfo{5ce0609 com.gruporadarradio.MainActivity} launchCookies=[android.os.BinderProxy@285800e] positionInParent=Point(0, 0) parentTaskId=-1 isFocused=true isVisible=false isVisibleRequested=false isSleeping=false topActivityInSizeCompat=false topActivityEligibleForLetterboxEducation= false topActivityLetterboxed= false isFromDoubleTap= false topActivityLetterboxVerticalPosition= -1 topActivityLetterboxHorizontalPosition= -1 topActivityLetterboxWidth=-1 topActivityLetterboxHeight=-1 locusId=null displayAreaFeatureId=1 cameraCompatControlState=hidden}, remoteTransition = RemoteTransition { remoteTransition = android.window.IRemoteTransition$Stub$Proxy@8affa2f, appThread = android.app.IApplicationThread$Stub$Proxy@82083c, debugName = QuickstepLaunch }, displayChange = null }
2025-03-10 10:10:12.317 776-825 WindowManagerShell com.android.systemui D onActivityRestartAttempt: ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity}
2025-03-10 10:10:12.466 551-572 WindowManager system_server V Sent Transition #11 createdAt=03-10 10:10:12.290 via request=TransitionRequestInfo { type = OPEN, triggerTask = TaskInfo{userId=0 taskId=47 displayId=0 isRunning=true baseIntent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.gruporadarradio/.MainActivity } baseActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} topActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} origActivity=null realActivity=ComponentInfo{com.gruporadarradio/com.gruporadarradio.MainActivity} numActivities=1 lastActiveTime=720057 supportsMultiWindow=true resizeMode=1 isResizeable=true minWidth=-1 minHeight=-1 defaultMinSize=220 token=WCT{RemoteToken{a6df01b Task{3ff4879 #47 type=standard A=10193:com.gruporadarradio}}} topActivityType=1 pictureInPictureParams=null shouldDockBigOverlays=false launchIntoPipHostTaskId=-1 lastParentTaskIdBeforePip=-1 displayCutoutSafeInsets=null topActivityInfo=ActivityInfo{fd9a5b8 com.gruporadarradio.MainActivity} launchCookies=[android.os.BinderProxy@3264037] positionInParent=Point(0, 0) parentTaskId=-1 isFocused=true isVisible=false isVisibleRequested=false isSleeping=false topActivityInSizeCompat=false topActivityEligibleForLetterboxEducation= false topActivityLetterboxed= false isFromDoubleTap= false topActivityLetterboxVerticalPosition= -1 topActivityLetterboxHorizontalPosition= -1 topActivityLetterboxWidth=-1 topActivityLetterboxHeight=-1 locusId=null displayAreaFeatureId=1 cameraCompatControlState=hidden}, remoteTransition = RemoteTransition { remoteTransition = android.window.IRemoteTransition$Stub$Proxy@6449a4, appThread = android.app.IApplicationThread$Stub$Proxy@914a8d3, debugName = QuickstepLaunch }, displayChange = null }
2025-03-10 10:10:12.467 551-572 WindowManager system_server V info={id=11 t=OPEN f=0x0 trk=0 r=[0@Point(0, 0)] c=[{WCT{RemoteToken{a6df01b Task{3ff4879 #47 type=standard A=10193:com.gruporadarradio}}} m=TO_FRONT f=MOVE_TO_TOP leash=Surface(name=Task=47)/@0xf85d715 sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0},{WCT{RemoteToken{728664 Task{fede787 #44 type=home}}} m=TO_BACK f=SHOW_WALLPAPER leash=Surface(name=Task=44)/@0x1846c6a sb=Rect(0, 0 - 1080, 2400) eb=Rect(0, 0 - 1080, 2400) d=0}]}
2025-03-10 10:10:12.615 9390-9461 OpenGLRenderer com.gruporadarradio E Unable to match the desired swap behavior.
2025-03-10 10:10:12.690 9390-9627 TrafficStats com.gruporadarradio D tagSocket(80) with statsTag=0xffffffff, statsUid=-1
2025-03-10 10:10:12.790 551-572 ziparchive system_server W Unable to open '/data/app/~~59vkrI7CcBf_lmfG2qSoMw==/com.gruporadarradio-u9HYKEEMZDVfOSW1f7GFbw==/base.dm': No such file or directory
2025-03-10 10:10:12.824 551-1686 ImeTracker system_server I com.gruporadarradio:bef64a92: onRequestHide at ORIGIN_SERVER_HIDE_INPUT reason HIDE_UNSPECIFIED_WINDOW
2025-03-10 10:10:12.835 551-1686 ImeTracker system_server I com.gruporadarradio:bef64a92: onCancelled at PHASE_SERVER_SHOULD_HIDE
2025-03-10 10:10:12.911 1395-1395 GoogleInpu...hodService com...gle.android.inputmethod.latin I GoogleInputMethodService.onStartInput():1568 onStartInput(EditorInfo{EditorInfo{packageName=com.gruporadarradio, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=0, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, false)
2025-03-10 10:10:12.987 551-1478 PackageConfigPersister system_server W App-specific configuration not found for packageName: com.gruporadarradio and userId: 0
2025-03-10 10:10:13.195 9390-9587 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 1(8192 size) used buffers - 518/528 (recycle/alloc) - 16/521 (fetch/transfer)
2025-03-10 10:10:15.503 9390-9587 CCodecBuffers com.gruporadarradio D [c2.android.aac.decoder#345:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
2025-03-10 10:10:15.504 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=725559, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.506 9390-9564 MediaCodec com.gruporadarradio D keep callback message for reclaim
2025-03-10 10:10:15.508 9390-9587 CCodecConfig com.gruporadarradio I query failed after returning 20 values (BAD_INDEX)
2025-03-10 10:10:15.511 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1342179345.
2025-03-10 10:10:15.511 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 2415921170.
2025-03-10 10:10:15.511 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1610614798.
2025-03-10 10:10:15.512 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=725559, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.517 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:15.519 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:15.529 9390-9631 TrafficStats com.gruporadarradio D tagSocket(66) with statsTag=0xffffffff, statsUid=-1
2025-03-10 10:10:15.536 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:15.536 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:15.546 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.547 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.548 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.551 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.552 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=-9223372036854775807, speed=0.0, updated=725599, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.553 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.553 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=-9223372036854775807, speed=0.0, updated=725599, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.553 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.584 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.595 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=725640, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=725640, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:15.596 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.611 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackActiveTrackChanged', { lastTrack:
{ title: 'Crystal 101.1',
url: 'https://radios.radiohd.com.mx/8274/stream',
artwork: 'http://10.0.2.2:8081/assets/app/assets/images/cristal101.1-albumart.png?platform=android&hash=fc27aba32a79b783d2faf05c3f07aa3a',
id: 2,
isLiveStream: true,
artist: 'Grupo Radar' },
lastIndex: 1,
track:
{ title: 'Radio Lobo Bajío 88.1 FM & 920 AM (Celaya)',
url: 'https://radios.radiohd.com.mx/8188/stream',
artwork: 'http://10.0.2.2:8081/assets/app/assets/images/lobobajio88.1-920am-albumart.png?platform=android&hash=49c01682e2c365f8976842cd23b923a3',
id: 3,
isLiveStream: true,
artist: 'Grupo Radar' },
index: 2,
lastPosition: 11.139 }
2025-03-10 10:10:15.613 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'loading' }
2025-03-10 10:10:15.617 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:15.621 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:15.622 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:15.623 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:15.651 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'buffering' }
2025-03-10 10:10:15.863 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.863 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.864 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:15.864 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:15.958 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:15.968 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:15.970 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:15.976 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:15.998 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:16.004 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:16.125 9390-9564 MediaCodec com.gruporadarradio D keep callback message for reclaim
2025-03-10 10:10:16.126 9390-9587 CCodecConfig com.gruporadarradio I query failed after returning 20 values (BAD_INDEX)
2025-03-10 10:10:16.128 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1342179345.
2025-03-10 10:10:16.128 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 2415921170.
2025-03-10 10:10:16.128 9390-9587 Codec2Client com.gruporadarradio W query -- param skipped: index = 1610614798.
2025-03-10 10:10:16.132 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:16.141 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.152 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onQueueChanged(): com.gruporadarradio
2025-03-10 10:10:16.153 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onQueueChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.155 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=726187, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:16.161 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.162 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=BUFFERING(6), position=0, buffered position=0, speed=0.0, updated=726187, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:16.162 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onPlaybackStateChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.297 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.377 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth W onMetadataChanged(): com.gruporadarradio tried to update with no new data
2025-03-10 10:10:16.471 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=24, buffered position=8033, speed=1.0, updated=726511, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:16.494 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:16.505 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:16.523 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PLAYING(3), position=24, buffered position=8033, speed=1.0, updated=726511, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:16.529 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:16.531 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:16.555 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'ready' }
2025-03-10 10:10:16.567 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:16.572 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:16.576 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=true
2025-03-10 10:10:16.586 9390-9390 MusicService com.gruporadarradio D skipping foregrounding as the service is already foregrounded
2025-03-10 10:10:16.701 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=83.96ms min=4.21ms max=2943.85ms count=45
2025-03-10 10:10:16.706 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'playing' }
2025-03-10 10:10:17.787 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PAUSED(2), position=1354, buffered position=16207, speed=0.0, updated=727843, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:17.790 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:17.792 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:17.811 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V onPlaybackStateChanged(): com.gruporadarradio : PlaybackState {state=PAUSED(2), position=1354, buffered position=16207, speed=0.0, updated=727843, actions=6553782, custom actions=[], active item id=2, error=null}
2025-03-10 10:10:17.813 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth D com.gruporadarradio Only Title and Artist info sync for metadata
2025-03-10 10:10:17.814 968-968 AudioMediaPlayerWrapper com.google.android.bluetooth V trySendMediaUpdate(): Metadata has been updated for com.gruporadarradio
2025-03-10 10:10:17.828 9390-9390 MusicServi...egrounding com.gruporadarradio D notification posted with id=1, ongoing=false
2025-03-10 10:10:17.830 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackPlayWhenReadyChanged', { playWhenReady: false }
2025-03-10 10:10:17.848 9390-9534 ReactNativeJS com.gruporadarradio I 'Event.PlaybackState', { state: 'paused' }
2025-03-10 10:10:17.859 9390-9461 EGL_emulation com.gruporadarradio D app_time_stats: avg=377.29ms min=3.86ms max=1115.42ms count=3
2025-03-10 10:10:22.847 9390-9390 MusicServi...egrounding com.gruporadarradio D Notification has been stopped
2025-03-10 10:10:23.120 9390-9590 BufferPoolAccessor2.0 com.gruporadarradio D bufferpool2 0xb400007bf4856898 : 5(40960 size) total buffers - 0(0 size) used buffers - 621/631 (recycle/alloc) - 16/619 (fetch/transfer)
2025-03-10 10:10:23.120 9390-9590 BufferPoolAccessor2.0 com.gruporadarradio D evictor expired: 1, evicted: 1
playWhenReady is a player event handled by listeners; while the native players do set playWhenReady when its playing media (ie. TP.play will directly manipulate the native player so they have playWhenReady set to true), the value change is listened by a listener then emitted back to JS. if ur talking about this slight delay in event emitting, it seems very much to be functioning as intended.
as for ur notification not responsive issue, its more concerning and imo not related to what playWhenReady is about. the notif buttons are all native and wont behave that way unless remotePause/Play is not handled at all; however i dont recall the example app having this issue. u should try reproducing this in the example app.
Thank you for your input on the issue. I did try building the example app to confirm if the issue presents itself there, but it does not (atleast on android where I tested it). However, my code relating to capabilities and event listeners is based on the example app (with some changes for what I needed). I can't figure out why there is a difference.
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.