feature: Add support for mediaSegments (#138)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2024-11-09 19:40:12 +01:00 committed by GitHub
parent 36758bd508
commit 5c560e54b5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 6823 additions and 8312 deletions

View file

@ -35,7 +35,7 @@ class ISyncedItem {
int? fileSize;
String? videoFileName;
String? trickPlayModel;
String? introOutroSkipModel;
String? mediaSegments;
String? images;
List<String>? chapters;
List<String>? subtitles;
@ -50,7 +50,7 @@ class ISyncedItem {
this.fileSize,
this.videoFileName,
this.trickPlayModel,
this.introOutroSkipModel,
this.mediaSegments,
this.images,
this.chapters,
this.subtitles,
@ -68,8 +68,7 @@ class ISyncedItem {
sortName: syncedItem.sortName,
videoFileName: syncedItem.videoFileName,
trickPlayModel: syncedItem.fTrickPlayModel != null ? jsonEncode(syncedItem.fTrickPlayModel?.toJson()) : null,
introOutroSkipModel:
syncedItem.introOutSkipModel != null ? jsonEncode(syncedItem.introOutSkipModel?.toJson()) : null,
mediaSegments: syncedItem.mediaSegments != null ? jsonEncode(syncedItem.mediaSegments?.toJson()) : null,
images: syncedItem.fImages != null ? jsonEncode(syncedItem.fImages?.toJson()) : null,
chapters: syncedItem.fChapters.map((e) => jsonEncode(e.toJson())).toList(),
subtitles: syncedItem.subtitles.map((e) => jsonEncode(e.toJson())).toList(),

View file

@ -57,7 +57,7 @@ const ISyncedItemSchema = IsarGeneratedSchema(
type: IsarType.string,
),
IsarPropertySchema(
name: 'introOutroSkipModel',
name: 'mediaSegments',
type: IsarType.string,
),
IsarPropertySchema(
@ -141,7 +141,7 @@ int serializeISyncedItem(IsarWriter writer, ISyncedItem object) {
}
}
{
final value = object.introOutroSkipModel;
final value = object.mediaSegments;
if (value == null) {
IsarCore.writeNull(writer, 10);
} else {
@ -218,8 +218,8 @@ ISyncedItem deserializeISyncedItem(IsarReader reader) {
_videoFileName = IsarCore.readString(reader, 8);
final String? _trickPlayModel;
_trickPlayModel = IsarCore.readString(reader, 9);
final String? _introOutroSkipModel;
_introOutroSkipModel = IsarCore.readString(reader, 10);
final String? _mediaSegments;
_mediaSegments = IsarCore.readString(reader, 10);
final String? _images;
_images = IsarCore.readString(reader, 11);
final List<String>? _chapters;
@ -268,7 +268,7 @@ ISyncedItem deserializeISyncedItem(IsarReader reader) {
fileSize: _fileSize,
videoFileName: _videoFileName,
trickPlayModel: _trickPlayModel,
introOutroSkipModel: _introOutroSkipModel,
mediaSegments: _mediaSegments,
images: _images,
chapters: _chapters,
subtitles: _subtitles,
@ -361,7 +361,7 @@ sealed class _ISyncedItemUpdate {
int? fileSize,
String? videoFileName,
String? trickPlayModel,
String? introOutroSkipModel,
String? mediaSegments,
String? images,
String? userData,
});
@ -383,7 +383,7 @@ class _ISyncedItemUpdateImpl implements _ISyncedItemUpdate {
Object? fileSize = ignore,
Object? videoFileName = ignore,
Object? trickPlayModel = ignore,
Object? introOutroSkipModel = ignore,
Object? mediaSegments = ignore,
Object? images = ignore,
Object? userData = ignore,
}) {
@ -398,7 +398,7 @@ class _ISyncedItemUpdateImpl implements _ISyncedItemUpdate {
if (fileSize != ignore) 7: fileSize as int?,
if (videoFileName != ignore) 8: videoFileName as String?,
if (trickPlayModel != ignore) 9: trickPlayModel as String?,
if (introOutroSkipModel != ignore) 10: introOutroSkipModel as String?,
if (mediaSegments != ignore) 10: mediaSegments as String?,
if (images != ignore) 11: images as String?,
if (userData != ignore) 14: userData as String?,
}) >
@ -417,7 +417,7 @@ sealed class _ISyncedItemUpdateAll {
int? fileSize,
String? videoFileName,
String? trickPlayModel,
String? introOutroSkipModel,
String? mediaSegments,
String? images,
String? userData,
});
@ -439,7 +439,7 @@ class _ISyncedItemUpdateAllImpl implements _ISyncedItemUpdateAll {
Object? fileSize = ignore,
Object? videoFileName = ignore,
Object? trickPlayModel = ignore,
Object? introOutroSkipModel = ignore,
Object? mediaSegments = ignore,
Object? images = ignore,
Object? userData = ignore,
}) {
@ -452,7 +452,7 @@ class _ISyncedItemUpdateAllImpl implements _ISyncedItemUpdateAll {
if (fileSize != ignore) 7: fileSize as int?,
if (videoFileName != ignore) 8: videoFileName as String?,
if (trickPlayModel != ignore) 9: trickPlayModel as String?,
if (introOutroSkipModel != ignore) 10: introOutroSkipModel as String?,
if (mediaSegments != ignore) 10: mediaSegments as String?,
if (images != ignore) 11: images as String?,
if (userData != ignore) 14: userData as String?,
});
@ -475,7 +475,7 @@ sealed class _ISyncedItemQueryUpdate {
int? fileSize,
String? videoFileName,
String? trickPlayModel,
String? introOutroSkipModel,
String? mediaSegments,
String? images,
String? userData,
});
@ -497,7 +497,7 @@ class _ISyncedItemQueryUpdateImpl implements _ISyncedItemQueryUpdate {
Object? fileSize = ignore,
Object? videoFileName = ignore,
Object? trickPlayModel = ignore,
Object? introOutroSkipModel = ignore,
Object? mediaSegments = ignore,
Object? images = ignore,
Object? userData = ignore,
}) {
@ -510,7 +510,7 @@ class _ISyncedItemQueryUpdateImpl implements _ISyncedItemQueryUpdate {
if (fileSize != ignore) 7: fileSize as int?,
if (videoFileName != ignore) 8: videoFileName as String?,
if (trickPlayModel != ignore) 9: trickPlayModel as String?,
if (introOutroSkipModel != ignore) 10: introOutroSkipModel as String?,
if (mediaSegments != ignore) 10: mediaSegments as String?,
if (images != ignore) 11: images as String?,
if (userData != ignore) 14: userData as String?,
});
@ -540,7 +540,7 @@ class _ISyncedItemQueryBuilderUpdateImpl implements _ISyncedItemQueryUpdate {
Object? fileSize = ignore,
Object? videoFileName = ignore,
Object? trickPlayModel = ignore,
Object? introOutroSkipModel = ignore,
Object? mediaSegments = ignore,
Object? images = ignore,
Object? userData = ignore,
}) {
@ -555,7 +555,7 @@ class _ISyncedItemQueryBuilderUpdateImpl implements _ISyncedItemQueryUpdate {
if (fileSize != ignore) 7: fileSize as int?,
if (videoFileName != ignore) 8: videoFileName as String?,
if (trickPlayModel != ignore) 9: trickPlayModel as String?,
if (introOutroSkipModel != ignore) 10: introOutroSkipModel as String?,
if (mediaSegments != ignore) 10: mediaSegments as String?,
if (images != ignore) 11: images as String?,
if (userData != ignore) 14: userData as String?,
});
@ -2015,21 +2015,21 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelIsNull() {
mediaSegmentsIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const IsNullCondition(property: 10));
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelIsNotNull() {
mediaSegmentsIsNotNull() {
return QueryBuilder.apply(not(), (query) {
return query.addFilterCondition(const IsNullCondition(property: 10));
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelEqualTo(
mediaSegmentsEqualTo(
String? value, {
bool caseSensitive = true,
}) {
@ -2045,7 +2045,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelGreaterThan(
mediaSegmentsGreaterThan(
String? value, {
bool caseSensitive = true,
}) {
@ -2061,7 +2061,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelGreaterThanOrEqualTo(
mediaSegmentsGreaterThanOrEqualTo(
String? value, {
bool caseSensitive = true,
}) {
@ -2077,7 +2077,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelLessThan(
mediaSegmentsLessThan(
String? value, {
bool caseSensitive = true,
}) {
@ -2093,7 +2093,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelLessThanOrEqualTo(
mediaSegmentsLessThanOrEqualTo(
String? value, {
bool caseSensitive = true,
}) {
@ -2109,7 +2109,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelBetween(
mediaSegmentsBetween(
String? lower,
String? upper, {
bool caseSensitive = true,
@ -2127,7 +2127,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelStartsWith(
mediaSegmentsStartsWith(
String value, {
bool caseSensitive = true,
}) {
@ -2143,7 +2143,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelEndsWith(
mediaSegmentsEndsWith(
String value, {
bool caseSensitive = true,
}) {
@ -2159,7 +2159,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelContains(String value, {bool caseSensitive = true}) {
mediaSegmentsContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(
ContainsCondition(
@ -2172,7 +2172,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelMatches(String pattern, {bool caseSensitive = true}) {
mediaSegmentsMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(
MatchesCondition(
@ -2185,7 +2185,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelIsEmpty() {
mediaSegmentsIsEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(
const EqualCondition(
@ -2197,7 +2197,7 @@ extension ISyncedItemQueryFilter
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterFilterCondition>
introOutroSkipModelIsNotEmpty() {
mediaSegmentsIsNotEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(
const GreaterCondition(
@ -3189,8 +3189,8 @@ extension ISyncedItemQuerySortBy
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy>
sortByIntroOutroSkipModel({bool caseSensitive = true}) {
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy> sortByMediaSegments(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(
10,
@ -3199,8 +3199,8 @@ extension ISyncedItemQuerySortBy
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy>
sortByIntroOutroSkipModelDesc({bool caseSensitive = true}) {
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy> sortByMediaSegmentsDesc(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(
10,
@ -3377,15 +3377,15 @@ extension ISyncedItemQuerySortThenBy
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy>
thenByIntroOutroSkipModel({bool caseSensitive = true}) {
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy> thenByMediaSegments(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(10, caseSensitive: caseSensitive);
});
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy>
thenByIntroOutroSkipModelDesc({bool caseSensitive = true}) {
QueryBuilder<ISyncedItem, ISyncedItem, QAfterSortBy> thenByMediaSegmentsDesc(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(10, sort: Sort.desc, caseSensitive: caseSensitive);
});
@ -3477,7 +3477,7 @@ extension ISyncedItemQueryWhereDistinct
}
QueryBuilder<ISyncedItem, ISyncedItem, QAfterDistinct>
distinctByIntroOutroSkipModel({bool caseSensitive = true}) {
distinctByMediaSegments({bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(10, caseSensitive: caseSensitive);
});
@ -3566,8 +3566,7 @@ extension ISyncedItemQueryProperty1
});
}
QueryBuilder<ISyncedItem, String?, QAfterProperty>
introOutroSkipModelProperty() {
QueryBuilder<ISyncedItem, String?, QAfterProperty> mediaSegmentsProperty() {
return QueryBuilder.apply(this, (query) {
return query.addProperty(10);
});
@ -3657,7 +3656,7 @@ extension ISyncedItemQueryProperty2<R>
}
QueryBuilder<ISyncedItem, (R, String?), QAfterProperty>
introOutroSkipModelProperty() {
mediaSegmentsProperty() {
return QueryBuilder.apply(this, (query) {
return query.addProperty(10);
});
@ -3749,7 +3748,7 @@ extension ISyncedItemQueryProperty3<R1, R2>
}
QueryBuilder<ISyncedItem, (R1, R2, String?), QOperations>
introOutroSkipModelProperty() {
mediaSegmentsProperty() {
return QueryBuilder.apply(this, (query) {
return query.addProperty(10);
});

View file

@ -13,7 +13,7 @@ import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
import 'package:fladder/models/item_base_model.dart';
import 'package:fladder/models/items/chapters_model.dart';
import 'package:fladder/models/items/images_models.dart';
import 'package:fladder/models/items/intro_skip_model.dart';
import 'package:fladder/models/items/media_segments_model.dart';
import 'package:fladder/models/items/item_shared_models.dart';
import 'package:fladder/models/items/media_streams_model.dart';
import 'package:fladder/models/items/trick_play_model.dart';
@ -38,7 +38,7 @@ class SyncedItem with _$SyncedItem {
String? sortName,
int? fileSize,
String? videoFileName,
IntroOutSkipModel? introOutSkipModel,
MediaSegmentsModel? mediaSegments,
TrickPlayModel? fTrickPlayModel,
ImagesData? fImages,
@Default([]) List<Chapter> fChapters,
@ -132,8 +132,8 @@ class SyncedItem with _$SyncedItem {
path: joinAll([savePath, isarSyncedItem.path ?? ""]),
fileSize: isarSyncedItem.fileSize,
videoFileName: isarSyncedItem.videoFileName,
introOutSkipModel: isarSyncedItem.introOutroSkipModel != null
? IntroOutSkipModel.fromJson(jsonDecode(isarSyncedItem.introOutroSkipModel!))
mediaSegments: isarSyncedItem.mediaSegments != null
? MediaSegmentsModel.fromJson(jsonDecode(isarSyncedItem.mediaSegments!))
: null,
fTrickPlayModel: isarSyncedItem.trickPlayModel != null
? TrickPlayModel.fromJson(jsonDecode(isarSyncedItem.trickPlayModel!))

View file

@ -25,8 +25,7 @@ mixin _$SyncedItem {
String? get sortName => throw _privateConstructorUsedError;
int? get fileSize => throw _privateConstructorUsedError;
String? get videoFileName => throw _privateConstructorUsedError;
IntroOutSkipModel? get introOutSkipModel =>
throw _privateConstructorUsedError;
MediaSegmentsModel? get mediaSegments => throw _privateConstructorUsedError;
TrickPlayModel? get fTrickPlayModel => throw _privateConstructorUsedError;
ImagesData? get fImages => throw _privateConstructorUsedError;
List<Chapter> get fChapters => throw _privateConstructorUsedError;
@ -57,14 +56,14 @@ abstract class $SyncedItemCopyWith<$Res> {
String? sortName,
int? fileSize,
String? videoFileName,
IntroOutSkipModel? introOutSkipModel,
MediaSegmentsModel? mediaSegments,
TrickPlayModel? fTrickPlayModel,
ImagesData? fImages,
List<Chapter> fChapters,
List<SubStreamModel> subtitles,
@UserDataJsonSerializer() UserData? userData});
$IntroOutSkipModelCopyWith<$Res>? get introOutSkipModel;
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments;
$TrickPlayModelCopyWith<$Res>? get fTrickPlayModel;
}
@ -92,7 +91,7 @@ class _$SyncedItemCopyWithImpl<$Res, $Val extends SyncedItem>
Object? sortName = freezed,
Object? fileSize = freezed,
Object? videoFileName = freezed,
Object? introOutSkipModel = freezed,
Object? mediaSegments = freezed,
Object? fTrickPlayModel = freezed,
Object? fImages = freezed,
Object? fChapters = null,
@ -136,10 +135,10 @@ class _$SyncedItemCopyWithImpl<$Res, $Val extends SyncedItem>
? _value.videoFileName
: videoFileName // ignore: cast_nullable_to_non_nullable
as String?,
introOutSkipModel: freezed == introOutSkipModel
? _value.introOutSkipModel
: introOutSkipModel // ignore: cast_nullable_to_non_nullable
as IntroOutSkipModel?,
mediaSegments: freezed == mediaSegments
? _value.mediaSegments
: mediaSegments // ignore: cast_nullable_to_non_nullable
as MediaSegmentsModel?,
fTrickPlayModel: freezed == fTrickPlayModel
? _value.fTrickPlayModel
: fTrickPlayModel // ignore: cast_nullable_to_non_nullable
@ -167,13 +166,13 @@ class _$SyncedItemCopyWithImpl<$Res, $Val extends SyncedItem>
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$IntroOutSkipModelCopyWith<$Res>? get introOutSkipModel {
if (_value.introOutSkipModel == null) {
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments {
if (_value.mediaSegments == null) {
return null;
}
return $IntroOutSkipModelCopyWith<$Res>(_value.introOutSkipModel!, (value) {
return _then(_value.copyWith(introOutSkipModel: value) as $Val);
return $MediaSegmentsModelCopyWith<$Res>(_value.mediaSegments!, (value) {
return _then(_value.copyWith(mediaSegments: value) as $Val);
});
}
@ -210,7 +209,7 @@ abstract class _$$SyncItemImplCopyWith<$Res>
String? sortName,
int? fileSize,
String? videoFileName,
IntroOutSkipModel? introOutSkipModel,
MediaSegmentsModel? mediaSegments,
TrickPlayModel? fTrickPlayModel,
ImagesData? fImages,
List<Chapter> fChapters,
@ -218,7 +217,7 @@ abstract class _$$SyncItemImplCopyWith<$Res>
@UserDataJsonSerializer() UserData? userData});
@override
$IntroOutSkipModelCopyWith<$Res>? get introOutSkipModel;
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments;
@override
$TrickPlayModelCopyWith<$Res>? get fTrickPlayModel;
}
@ -245,7 +244,7 @@ class __$$SyncItemImplCopyWithImpl<$Res>
Object? sortName = freezed,
Object? fileSize = freezed,
Object? videoFileName = freezed,
Object? introOutSkipModel = freezed,
Object? mediaSegments = freezed,
Object? fTrickPlayModel = freezed,
Object? fImages = freezed,
Object? fChapters = null,
@ -289,10 +288,10 @@ class __$$SyncItemImplCopyWithImpl<$Res>
? _value.videoFileName
: videoFileName // ignore: cast_nullable_to_non_nullable
as String?,
introOutSkipModel: freezed == introOutSkipModel
? _value.introOutSkipModel
: introOutSkipModel // ignore: cast_nullable_to_non_nullable
as IntroOutSkipModel?,
mediaSegments: freezed == mediaSegments
? _value.mediaSegments
: mediaSegments // ignore: cast_nullable_to_non_nullable
as MediaSegmentsModel?,
fTrickPlayModel: freezed == fTrickPlayModel
? _value.fTrickPlayModel
: fTrickPlayModel // ignore: cast_nullable_to_non_nullable
@ -330,7 +329,7 @@ class _$SyncItemImpl extends _SyncItem {
this.sortName,
this.fileSize,
this.videoFileName,
this.introOutSkipModel,
this.mediaSegments,
this.fTrickPlayModel,
this.fImages,
final List<Chapter> fChapters = const [],
@ -361,7 +360,7 @@ class _$SyncItemImpl extends _SyncItem {
@override
final String? videoFileName;
@override
final IntroOutSkipModel? introOutSkipModel;
final MediaSegmentsModel? mediaSegments;
@override
final TrickPlayModel? fTrickPlayModel;
@override
@ -390,7 +389,7 @@ class _$SyncItemImpl extends _SyncItem {
@override
String toString() {
return 'SyncedItem(id: $id, syncing: $syncing, parentId: $parentId, userId: $userId, path: $path, markedForDelete: $markedForDelete, sortName: $sortName, fileSize: $fileSize, videoFileName: $videoFileName, introOutSkipModel: $introOutSkipModel, fTrickPlayModel: $fTrickPlayModel, fImages: $fImages, fChapters: $fChapters, subtitles: $subtitles, userData: $userData)';
return 'SyncedItem(id: $id, syncing: $syncing, parentId: $parentId, userId: $userId, path: $path, markedForDelete: $markedForDelete, sortName: $sortName, fileSize: $fileSize, videoFileName: $videoFileName, mediaSegments: $mediaSegments, fTrickPlayModel: $fTrickPlayModel, fImages: $fImages, fChapters: $fChapters, subtitles: $subtitles, userData: $userData)';
}
@override
@ -412,8 +411,8 @@ class _$SyncItemImpl extends _SyncItem {
other.fileSize == fileSize) &&
(identical(other.videoFileName, videoFileName) ||
other.videoFileName == videoFileName) &&
(identical(other.introOutSkipModel, introOutSkipModel) ||
other.introOutSkipModel == introOutSkipModel) &&
(identical(other.mediaSegments, mediaSegments) ||
other.mediaSegments == mediaSegments) &&
(identical(other.fTrickPlayModel, fTrickPlayModel) ||
other.fTrickPlayModel == fTrickPlayModel) &&
(identical(other.fImages, fImages) || other.fImages == fImages) &&
@ -437,7 +436,7 @@ class _$SyncItemImpl extends _SyncItem {
sortName,
fileSize,
videoFileName,
introOutSkipModel,
mediaSegments,
fTrickPlayModel,
fImages,
const DeepCollectionEquality().hash(_fChapters),
@ -464,7 +463,7 @@ abstract class _SyncItem extends SyncedItem {
final String? sortName,
final int? fileSize,
final String? videoFileName,
final IntroOutSkipModel? introOutSkipModel,
final MediaSegmentsModel? mediaSegments,
final TrickPlayModel? fTrickPlayModel,
final ImagesData? fImages,
final List<Chapter> fChapters,
@ -491,7 +490,7 @@ abstract class _SyncItem extends SyncedItem {
@override
String? get videoFileName;
@override
IntroOutSkipModel? get introOutSkipModel;
MediaSegmentsModel? get mediaSegments;
@override
TrickPlayModel? get fTrickPlayModel;
@override