decodeFromBuffer method
Download animation file from buffer, and decode it.
Implementation
Future<MovieEntity> decodeFromBuffer(List<int> bytes) {
TimelineTask? timeline;
if (!kReleaseMode) {
timeline = TimelineTask(
filterKey: _filterKey,
)..start(
'DecodeFromBuffer',
arguments: {
'length': bytes.length,
},
);
}
final inflatedBytes = archive.ZLibDecoder().decodeBytes(bytes);
if (timeline != null) {
timeline.instant(
'MovieEntity.fromBuffer()',
arguments: {
'inflatedLength': inflatedBytes.length,
},
);
}
final movie = MovieEntity.fromBuffer(inflatedBytes);
if (timeline != null) {
timeline.instant(
'prepareResources()',
arguments: {
'images': movie.images.keys.join(','),
},
);
}
return _prepareResources(
_processShapeItems(movie),
timeline: timeline,
).whenComplete(
() {
if (timeline != null) {
timeline.finish();
}
},
);
}