spotube/lib/services/youtube_engine/youtube_engine.dart
Kingkor Roy Tirtho 1e6d709e04
feat: implement yt-dlp for desktop and NewPipeExtractor for Android (#2316)
* feat: add youtube engine abstraction and yt-dlp integration

* chore: add yt-dlp as optional dependency

* feat: implement custom path support for youtube engines

* chore: check for custom path in setting engine select dropdown

* chore: update yt_dlp_dart

* chore: setting video url instead of video id in fetchSiblings

* feat: implement NewPipe engine

* chore: update local path to git url for flutter_new_pipe_extractor package

* chore: fix android build isn't working

* chore: fix routes not working when initially signing in

* refactor: drop fallback support to different sources
2025-02-11 21:36:07 +06:00

15 lines
454 B
Dart

import 'package:youtube_explode_dart/youtube_explode_dart.dart';
abstract interface class YouTubeEngine {
static bool get isAvailableForPlatform => false;
static Future<bool> isInstalled() async {
return false;
}
Future<Video> getVideo(String videoId);
Future<StreamManifest> getStreamManifest(String videoId);
Future<(Video, StreamManifest)> getVideoWithStreamInfo(String videoId);
Future<List<Video>> searchVideos(String query);
}