Merge pull request #193 from aazz180/main

This commit is contained in:
tapframe 2025-10-19 08:54:45 +05:30 committed by GitHub
commit 559c50fa87
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 3 deletions

View file

@ -36,7 +36,7 @@ export interface AppSettings {
enableBackgroundPlayback: boolean; enableBackgroundPlayback: boolean;
cacheLimit: number; cacheLimit: number;
useExternalPlayer: boolean; useExternalPlayer: boolean;
preferredPlayer: 'internal' | 'vlc' | 'infuse' | 'outplayer' | 'vidhub' | 'external'; preferredPlayer: 'internal' | 'vlc' | 'infuse' | 'outplayer' | 'vidhub' | 'infuse_livecontainer' | 'external';
showHeroSection: boolean; showHeroSection: boolean;
featuredContentSource: 'tmdb' | 'catalogs'; featuredContentSource: 'tmdb' | 'catalogs';
heroStyle: 'legacy' | 'carousel'; heroStyle: 'legacy' | 'carousel';
@ -244,4 +244,4 @@ export const useSettings = () => {
}; };
}; };
export default useSettings; export default useSettings;

View file

@ -127,6 +127,12 @@ const PlayerSettingsScreen: React.FC = () => {
description: 'Open streams in VidHub player', description: 'Open streams in VidHub player',
icon: 'ondemand-video', icon: 'ondemand-video',
}, },
{
id: 'infuse_livecontainer',
title: 'Infuse Livecontainer',
description: 'Open streams in Infuse player LiveContainer',
icon: 'smart-display',
},
] : [ ] : [
{ {
id: 'external', id: 'external',
@ -420,4 +426,4 @@ const styles = StyleSheet.create({
}, },
}); });
export default PlayerSettingsScreen; export default PlayerSettingsScreen;

View file

@ -1289,6 +1289,18 @@ export const StreamsScreen = () => {
]; ];
break; break;
case 'infuse_livecontainer':
const infuseUrls = [
`infuse://x-callback-url/play?url=${streamUrl}`,
`infuse://play?url=${streamUrl}`,
`infuse://${streamUrl}`
];
externalPlayerUrls = infuseUrls.map(infuseUrl => {
const encoded = Buffer.from(infuseUrl).toString('base64');
return `livecontainer://open-web-page?url=${encoded}`;
});
break;
default: default:
// If no matching player or the setting is somehow invalid, use internal player // If no matching player or the setting is somehow invalid, use internal player
navigateToPlayer(stream); navigateToPlayer(stream);