feat(chromecast): send custom message for overlay subtitles

This commit is contained in:
2026-07-21 19:28:36 +02:00
parent e6a06b13a4
commit a335509b4e
15 changed files with 366 additions and 241 deletions
+2 -2
View File
@@ -88,7 +88,7 @@ function PlayerExample({
useEffect(() => {
refreshTracks();
}, [refreshTracks, trackLabel]);
}, [refreshTracks]);
const pushLog = useCallback((message: string) => {
setLogs((prev) => {
@@ -194,7 +194,7 @@ function PlayerExample({
const cyclePlaybackRate = () => {
const rates = [0.75, 1, 1.25, 1.5, 2];
const index = rates.findIndex((rate) => rate === playbackRate);
const index = rates.indexOf(playbackRate);
const nextIndex = (index + 1) % rates.length;
player.playbackRate = rates[nextIndex];
};
+1 -1
View File
@@ -9,5 +9,5 @@ import { name as appName } from "./app.json";
AppRegistry.registerComponent(appName, () => App);
AppRegistry.runApplication(appName, {
rootTag: document.getElementById("root"),
rootTag: document.getElementById("root"),
});
+20 -16
View File
@@ -11,22 +11,26 @@ const useWeb = process.env.USE_WEB === "true" || process.env.PLATFORM === "web";
* @type {import('metro-config').MetroConfig}
*/
const config = {
watchFolders: [root],
...(useWeb && {
resolver: {
extraNodeModules: {
"react-native": path.resolve(__dirname, "node_modules", "react-native-web"),
},
},
}),
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
watchFolders: [root],
...(useWeb && {
resolver: {
extraNodeModules: {
"react-native": path.resolve(
__dirname,
"node_modules",
"react-native-web",
),
},
},
}),
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
};
module.exports = mergeConfig(getDefaultConfig(__dirname), config);
+1 -1
View File
@@ -1,4 +1,4 @@
const path = require("path");
const path = require("node:path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const appDirectory = path.resolve(__dirname);