diff --git a/app/(auth)/player/google-cast-player.tsx b/app/(auth)/player/google-cast-player.tsx
index 423557ac..9caadc06 100644
--- a/app/(auth)/player/google-cast-player.tsx
+++ b/app/(auth)/player/google-cast-player.tsx
@@ -1,4 +1,4 @@
-import React, { useMemo } from "react";
+import React, { useMemo, useState, useRef } from "react";
import { View } from "react-native";
import { Text } from "@/components/common/Text";
import { Loader } from "@/components/Loader";
@@ -33,6 +33,19 @@ export default function Player() {
const discoveryManager = GoogleCast.getDiscoveryManager();
const mediaStatus = useMediaStatus();
+ const [wasMediaPlaying, setWasMediaPlaying] = useState(false);
+ const reportPlaybackStopedRef = useRef(() => {});
+
+ useEffect(() => {
+ if (mediaStatus) return; // media currently playing
+
+ // media was just playing, report playback stopped
+ if (wasMediaPlaying) {
+ reportPlaybackStopedRef.current();
+ setWasMediaPlaying(false);
+ }
+ }, [mediaStatus, wasMediaPlaying]);
+
const router = useRouter();
const lightHapticFeedback = useHaptic("light");
@@ -76,7 +89,14 @@ export default function Player() {
const ChromecastControlsMemoized = useMemo(() => {
if (!mediaStatus || !client) return undefined;
- return ;
+ return (
+
+ );
}, [mediaStatus, client]);
if (