2021-10-04 13:00:22 +02:00
|
|
|
import 'package:http_parser/http_parser.dart';
|
2021-11-12 21:04:53 +01:00
|
|
|
import 'package:json_annotation/json_annotation.dart';
|
2021-10-04 13:00:22 +02:00
|
|
|
|
2021-09-28 16:49:38 +02:00
|
|
|
import '../../reverse_engineering/models/fragment.dart';
|
2021-11-12 21:04:53 +01:00
|
|
|
import 'stream_info.dart';
|
2020-06-05 16:17:08 +02:00
|
|
|
import 'streams.dart';
|
2020-06-03 13:18:37 +02:00
|
|
|
|
2021-11-12 21:04:53 +01:00
|
|
|
part 'audio_only_stream_info.g.dart';
|
|
|
|
|
2020-06-03 13:18:37 +02:00
|
|
|
/// YouTube media stream that only contains audio.
|
2021-11-12 21:04:53 +01:00
|
|
|
@JsonSerializable()
|
|
|
|
class AudioOnlyStreamInfo with StreamInfo, AudioStreamInfo {
|
|
|
|
@override
|
|
|
|
final int tag;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final Uri url;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final StreamContainer container;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final FileSize size;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final Bitrate bitrate;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final String audioCodec;
|
|
|
|
|
|
|
|
@override
|
|
|
|
@JsonKey(toJson: mediaTypeTojson, fromJson: mediaTypeFromJson)
|
|
|
|
final MediaType codec;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final List<Fragment> fragments;
|
|
|
|
|
|
|
|
@override
|
|
|
|
final String qualityLabel;
|
|
|
|
|
2021-09-28 16:49:38 +02:00
|
|
|
AudioOnlyStreamInfo(
|
2021-11-12 21:04:53 +01:00
|
|
|
this.tag,
|
|
|
|
this.url,
|
|
|
|
this.container,
|
|
|
|
this.size,
|
|
|
|
this.bitrate,
|
|
|
|
this.audioCodec,
|
|
|
|
this.qualityLabel,
|
|
|
|
this.fragments,
|
|
|
|
this.codec);
|
2020-06-03 13:18:37 +02:00
|
|
|
|
|
|
|
@override
|
|
|
|
String toString() => 'Audio-only ($tag | $container)';
|
2021-11-12 21:04:53 +01:00
|
|
|
|
|
|
|
factory AudioOnlyStreamInfo.fromJson(Map<String, dynamic> json) =>
|
|
|
|
_$AudioOnlyStreamInfoFromJson(json);
|
|
|
|
|
2022-02-03 12:06:09 +01:00
|
|
|
@override
|
2021-11-12 21:04:53 +01:00
|
|
|
Map<String, dynamic> toJson() => _$AudioOnlyStreamInfoToJson(this);
|
2020-06-03 13:18:37 +02:00
|
|
|
}
|