sealed class ContentType {}

final class AutoContentType extends ContentType {
  final String urlPath;

  AutoContentType({required this.urlPath});
}

final class HlsContentType extends ContentType {
  final String urlPath;
  final bool isLive;

  HlsContentType({required this.urlPath, required this.isLive});
}

final class DashContentType extends ContentType {
  final String urlPath;

  DashContentType({required this.urlPath});
}

final class Mp4ContentType extends ContentType {
  final String urlPath;
  final bool isLoop;

  Mp4ContentType({required this.urlPath, this.isLoop = false});
}