youtube_explode/lib/src/reverse_engineering/models/stream_info_provider.dart

63 lines
889 B
Dart
Raw Normal View History

2021-10-04 13:00:22 +02:00
import 'package:http_parser/http_parser.dart';
2021-09-28 16:49:38 +02:00
import 'fragment.dart';
enum StreamSource { muxed, adaptive, dash }
2020-07-16 20:02:54 +02:00
///
2020-05-31 23:36:23 +02:00
abstract class StreamInfoProvider {
2020-07-16 20:02:54 +02:00
///
2020-06-05 16:17:08 +02:00
static final RegExp contentLenExp = RegExp(r'clen=(\d+)');
2020-05-31 23:36:23 +02:00
///
StreamSource get source;
2020-07-16 20:02:54 +02:00
///
2020-05-31 23:36:23 +02:00
int get tag;
2020-07-16 20:02:54 +02:00
///
2020-05-31 23:36:23 +02:00
String get url;
2021-10-04 13:00:22 +02:00
MediaType get codec;
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
String? get signature => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
String? get signatureParameter => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
int? get contentLength => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-09-28 16:49:38 +02:00
int? get bitrate => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
String? get container;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
String? get audioCodec => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
String? get videoCodec => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-10-04 13:00:22 +02:00
@Deprecated('Use qualityLabel')
2021-09-28 16:49:38 +02:00
String? get videoQualityLabel => null;
2020-05-31 23:36:23 +02:00
2021-10-04 13:00:22 +02:00
///
String get qualityLabel;
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
int? get videoWidth => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
int? get videoHeight => null;
2020-05-31 23:36:23 +02:00
2020-07-16 20:02:54 +02:00
///
2021-03-11 14:20:10 +01:00
int? get framerate => null;
2021-09-28 16:49:38 +02:00
///
List<Fragment>? get fragments => null;
2020-05-31 23:36:23 +02:00
}