From 895530835968e3aa62dbe29ce192d08a4d2afed0 Mon Sep 17 00:00:00 2001 From: Mattia Date: Fri, 11 Sep 2020 12:05:27 +0200 Subject: [PATCH] BREAKING CHANGE: Rename class `Container` to `StreamContainer` to avoid name conflict with Flutter's `Container`. This closes #66 --- example/video_download.dart | 1 - .../responses/dash_manifest.dart | 1 - .../closed_caption_client.dart | 7 +++---- lib/src/videos/comments/comments.dart | 2 +- .../streams/audio_only_stream_info.dart | 2 +- lib/src/videos/streams/audio_stream_info.dart | 2 +- lib/src/videos/streams/muxed_stream_info.dart | 4 ++-- .../{container.dart => stream_container.dart} | 20 +++++++++---------- lib/src/videos/streams/stream_info.dart | 4 ++-- lib/src/videos/streams/streams.dart | 2 +- lib/src/videos/streams/streams_client.dart | 4 ++-- .../streams/video_only_stream_info.dart | 4 ++-- lib/src/videos/streams/video_stream_info.dart | 2 +- tool/grind.dart | 7 ++----- 14 files changed, 28 insertions(+), 34 deletions(-) rename lib/src/videos/streams/{container.dart => stream_container.dart} (56%) diff --git a/example/video_download.dart b/example/video_download.dart index 8a5bdf2..c1dab83 100644 --- a/example/video_download.dart +++ b/example/video_download.dart @@ -67,7 +67,6 @@ Future download(String id) async { // Listen for data received. var progressBar = ProgressBar(); await for (var data in audioStream) { - // Keep track of the current downloaded data. count += data.length; diff --git a/lib/src/reverse_engineering/responses/dash_manifest.dart b/lib/src/reverse_engineering/responses/dash_manifest.dart index a40519b..920a1ce 100644 --- a/lib/src/reverse_engineering/responses/dash_manifest.dart +++ b/lib/src/reverse_engineering/responses/dash_manifest.dart @@ -11,7 +11,6 @@ class DashManifest { final xml.XmlDocument _root; Iterable<_StreamInfo> _streams; - /// Iterable<_StreamInfo> get streams => _streams ??= _root .findElements('Representation') diff --git a/lib/src/videos/closed_captions/closed_caption_client.dart b/lib/src/videos/closed_captions/closed_caption_client.dart index b178caa..eff073e 100644 --- a/lib/src/videos/closed_captions/closed_caption_client.dart +++ b/lib/src/videos/closed_captions/closed_caption_client.dart @@ -98,11 +98,10 @@ extension on Duration { } var twoDigitHours = twoDigits(inHours); var twoDigitMinutes = - twoDigits(inMinutes.remainder(Duration.minutesPerHour)); + twoDigits(inMinutes.remainder(Duration.minutesPerHour)); var twoDigitSeconds = - twoDigits(inSeconds.remainder(Duration.secondsPerMinute)); - var fourDigitsUs = - threeDigits(inMilliseconds.remainder(1000)); + twoDigits(inSeconds.remainder(Duration.secondsPerMinute)); + var fourDigitsUs = threeDigits(inMilliseconds.remainder(1000)); return '$twoDigitHours:$twoDigitMinutes:$twoDigitSeconds,$fourDigitsUs'; } } diff --git a/lib/src/videos/comments/comments.dart b/lib/src/videos/comments/comments.dart index f7e6886..10e27d2 100644 --- a/lib/src/videos/comments/comments.dart +++ b/lib/src/videos/comments/comments.dart @@ -1,2 +1,2 @@ export 'comment.dart'; -export 'comments_client.dart'; \ No newline at end of file +export 'comments_client.dart'; diff --git a/lib/src/videos/streams/audio_only_stream_info.dart b/lib/src/videos/streams/audio_only_stream_info.dart index 0d83ead..d7b2cb3 100644 --- a/lib/src/videos/streams/audio_only_stream_info.dart +++ b/lib/src/videos/streams/audio_only_stream_info.dart @@ -9,7 +9,7 @@ class AudioOnlyStreamInfo implements AudioStreamInfo { final Uri url; @override - final Container container; + final StreamContainer container; @override final FileSize size; diff --git a/lib/src/videos/streams/audio_stream_info.dart b/lib/src/videos/streams/audio_stream_info.dart index 471b2be..d6de676 100644 --- a/lib/src/videos/streams/audio_stream_info.dart +++ b/lib/src/videos/streams/audio_stream_info.dart @@ -6,7 +6,7 @@ abstract class AudioStreamInfo extends StreamInfo { final String audioCodec; /// - AudioStreamInfo(int tag, Uri url, Container container, FileSize size, + AudioStreamInfo(int tag, Uri url, StreamContainer container, FileSize size, Bitrate bitrate, this.audioCodec) : super(tag, url, container, size, bitrate); } diff --git a/lib/src/videos/streams/muxed_stream_info.dart b/lib/src/videos/streams/muxed_stream_info.dart index 4e454f0..4e77c2a 100644 --- a/lib/src/videos/streams/muxed_stream_info.dart +++ b/lib/src/videos/streams/muxed_stream_info.dart @@ -1,8 +1,8 @@ import 'audio_stream_info.dart'; import 'bitrate.dart'; -import 'container.dart'; import 'filesize.dart'; import 'framerate.dart'; +import 'stream_container.dart'; import 'video_quality.dart'; import 'video_resolution.dart'; import 'video_stream_info.dart'; @@ -16,7 +16,7 @@ class MuxedStreamInfo implements AudioStreamInfo, VideoStreamInfo { final Uri url; @override - final Container container; + final StreamContainer container; @override final FileSize size; diff --git a/lib/src/videos/streams/container.dart b/lib/src/videos/streams/stream_container.dart similarity index 56% rename from lib/src/videos/streams/container.dart rename to lib/src/videos/streams/stream_container.dart index c8fb13c..8c45ce2 100644 --- a/lib/src/videos/streams/container.dart +++ b/lib/src/videos/streams/stream_container.dart @@ -1,33 +1,33 @@ import 'package:equatable/equatable.dart'; /// Stream container. -class Container with EquatableMixin { +class StreamContainer with EquatableMixin { /// Container name. /// Can be used as file extension final String name; - /// Initializes an instance of [Container] - Container._(this.name); + /// Initializes an instance of [StreamContainer] + StreamContainer._(this.name); /// MPEG-4 Part 14 (.mp4). - static final Container mp4 = Container._('mp4'); + static final StreamContainer mp4 = StreamContainer._('mp4'); /// Web Media (.webm). - static final Container webM = Container._('webm'); + static final StreamContainer webM = StreamContainer._('webm'); /// 3rd Generation Partnership Project (.3gpp). - static final Container tgpp = Container._('3gpp'); + static final StreamContainer tgpp = StreamContainer._('3gpp'); /// Parse a container from name. - static Container parse(String name) { + static StreamContainer parse(String name) { if (name.toLowerCase() == 'mp4') { - return Container.mp4; + return StreamContainer.mp4; } if (name.toLowerCase() == 'webm') { - return Container.webM; + return StreamContainer.webM; } if (name.toLowerCase() == '3gpp') { - return Container.tgpp; + return StreamContainer.tgpp; } throw ArgumentError.value(name, 'name', 'Valid values: mp4, webm, 3gpp'); diff --git a/lib/src/videos/streams/stream_info.dart b/lib/src/videos/streams/stream_info.dart index e768049..ccbacbc 100644 --- a/lib/src/videos/streams/stream_info.dart +++ b/lib/src/videos/streams/stream_info.dart @@ -1,6 +1,6 @@ import 'bitrate.dart'; -import 'container.dart'; import 'filesize.dart'; +import 'stream_container.dart'; /// Generic YouTube media stream. abstract class StreamInfo { @@ -12,7 +12,7 @@ abstract class StreamInfo { final Uri url; /// Stream container. - final Container container; + final StreamContainer container; /// Stream size. final FileSize size; diff --git a/lib/src/videos/streams/streams.dart b/lib/src/videos/streams/streams.dart index 9c57e8e..235f95b 100644 --- a/lib/src/videos/streams/streams.dart +++ b/lib/src/videos/streams/streams.dart @@ -1,10 +1,10 @@ export 'audio_only_stream_info.dart'; export 'audio_stream_info.dart'; export 'bitrate.dart'; -export 'container.dart'; export 'filesize.dart'; export 'framerate.dart'; export 'muxed_stream_info.dart'; +export 'stream_container.dart'; export 'stream_context.dart'; export 'stream_info.dart'; export 'stream_manifest.dart'; diff --git a/lib/src/videos/streams/streams_client.dart b/lib/src/videos/streams/streams_client.dart index 9a77821..aae8935 100644 --- a/lib/src/videos/streams/streams_client.dart +++ b/lib/src/videos/streams/streams_client.dart @@ -6,9 +6,9 @@ import '../../reverse_engineering/responses/responses.dart'; import '../../reverse_engineering/youtube_http_client.dart'; import '../video_id.dart'; import 'bitrate.dart'; -import 'container.dart'; import 'filesize.dart'; import 'framerate.dart'; +import 'stream_container.dart'; import 'stream_context.dart'; import 'stream_info.dart'; import 'stream_manifest.dart'; @@ -145,7 +145,7 @@ class StreamsClient { } // Common - var container = Container.parse(streamInfo.container); + var container = StreamContainer.parse(streamInfo.container); var fileSize = FileSize(contentLength); var bitrate = Bitrate(streamInfo.bitrate); diff --git a/lib/src/videos/streams/video_only_stream_info.dart b/lib/src/videos/streams/video_only_stream_info.dart index 851bc20..cb38ef7 100644 --- a/lib/src/videos/streams/video_only_stream_info.dart +++ b/lib/src/videos/streams/video_only_stream_info.dart @@ -1,7 +1,7 @@ import 'bitrate.dart'; -import 'container.dart'; import 'filesize.dart'; import 'framerate.dart'; +import 'stream_container.dart'; import 'video_quality.dart'; import 'video_resolution.dart'; import 'video_stream_info.dart'; @@ -15,7 +15,7 @@ class VideoOnlyStreamInfo implements VideoStreamInfo { final Uri url; @override - final Container container; + final StreamContainer container; @override final FileSize size; diff --git a/lib/src/videos/streams/video_stream_info.dart b/lib/src/videos/streams/video_stream_info.dart index 6116755..81b2f75 100644 --- a/lib/src/videos/streams/video_stream_info.dart +++ b/lib/src/videos/streams/video_stream_info.dart @@ -21,7 +21,7 @@ abstract class VideoStreamInfo extends StreamInfo { VideoStreamInfo( int tag, Uri url, - Container container, + StreamContainer container, FileSize size, Bitrate bitrate, this.videoCodec, diff --git a/tool/grind.dart b/tool/grind.dart index f88eebd..5b1ccbd 100644 --- a/tool/grind.dart +++ b/tool/grind.dart @@ -1,16 +1,13 @@ import 'package:grinder/grinder.dart'; - -final pub = sdkBin('pub'); +final pub = sdkBin('pub'); void main(args) => grind(args); @Task('Run tests') void test() => TestRunner().testAsync(); @Task('Dart analysis') -void analysis() { - -} +void analysis() {} @DefaultTask() @Depends(test)