1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 16:25:17 +00:00

Generate video thumbnails

This commit is contained in:
2021-03-12 19:36:42 +01:00
parent 8f7ca14586
commit b84eba59e3
10 changed files with 100 additions and 12 deletions

View File

@ -6,6 +6,7 @@ import 'package:comunic/helpers/server_config_helper.dart';
import 'package:comunic/helpers/users_helper.dart';
import 'package:comunic/lists/conversation_messages_list.dart';
import 'package:comunic/lists/users_list.dart';
import 'package:comunic/models/api_request.dart';
import 'package:comunic/models/conversation.dart';
import 'package:comunic/models/conversation_message.dart';
import 'package:comunic/models/new_conversation_message.dart';
@ -15,11 +16,14 @@ import 'package:comunic/ui/tiles/conversation_message_tile.dart';
import 'package:comunic/ui/tiles/server_conversation_message_tile.dart';
import 'package:comunic/ui/widgets/safe_state.dart';
import 'package:comunic/ui/widgets/scroll_watcher.dart';
import 'package:comunic/utils/files_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:comunic/utils/list_utils.dart';
import 'package:comunic/utils/log_utils.dart';
import 'package:comunic/utils/ui_utils.dart';
import 'package:comunic/utils/video_utils.dart';
import 'package:flutter/material.dart';
import 'package:mime/mime.dart';
/// Conversation screen
///
@ -227,16 +231,23 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
context: context,
maxFileSize: srvConfig.conversationsPolicy.filesMaxSize,
allowedMimeTypes: srvConfig.conversationsPolicy.allowedFilesType,
imageMaxWidth: srvConfig.conversationsPolicy.maxMessageImageWidth,
imageMaxHeight: srvConfig.conversationsPolicy.maxMessageImageHeight,
);
if (file == null) return;
BytesFile thumbnail;
if (isVideo(lookupMimeType(file.filename)))
thumbnail = await generateVideoThumbnail(videoFile: file);
await _submitMessage(
NewConversationMessage(
conversationID: widget.conversationID,
message: null,
file: file,
),
conversationID: widget.conversationID,
message: null,
file: file,
thumbnail: thumbnail),
);
} catch (e, s) {
logError(e, s);