video: отправка видео-сообщений (FFmpeg пробинг+транскод H.264/AAC MP4)
- src/video/: video_probe/video_get_info/video_transcode_start (FFmpeg, HAVE_FFMPEG) - chat_core/chat_msg: media_video флаг, chat_core_submit_media_message, транскод перед index - headless: команда attach с --video - chatgui: диалог 'Как видео' + прогресс транскода + sendVideoAttachment - FFmpeg в сборке (configure.ac, Makefile.am, chatgui CMake, build_nix.sh) - debug: категория DEBUG_CATEGORY_VIDEO
This commit is contained in:
1 parent
c8bd5975ae
commit
1855c61275
19 files changed
+1026
-29
No files matched your search
+27
-9
@@ -14,6 +14,9 @@ import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material.icons.filled.Bolt
|
||||
import androidx.compose.material.icons.filled.Shield
|
||||
import androidx.compose.material.icons.filled.Star
|
||||
import androidx.compose.material3.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
@@ -171,15 +174,30 @@ private fun MemberListItem(
|
||||
Spacer(Modifier.width(10.dp))
|
||||
|
||||
Column(modifier = Modifier.weight(1f)) {
|
||||
Text(
|
||||
text = member.name,
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 15.sp,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
textDecoration = if (member.isDeleted) TextDecoration.LineThrough else TextDecoration.None,
|
||||
color = if (member.isSelf) Color(0xFF4CAF50) else Color.Unspecified
|
||||
)
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
if (member.isSuper) {
|
||||
Icon(Icons.Filled.Bolt, "Supernode", tint = Color(0xFFFFC107), modifier = Modifier.size(16.dp))
|
||||
Spacer(Modifier.width(4.dp))
|
||||
}
|
||||
if (member.isAdmin) {
|
||||
Icon(Icons.Filled.Star, "Admin", tint = Color(0xFFFFD700), modifier = Modifier.size(16.dp))
|
||||
Spacer(Modifier.width(4.dp))
|
||||
}
|
||||
if (member.isModer) {
|
||||
Icon(Icons.Filled.Shield, "Moderator", tint = Color(0xFF2196F3), modifier = Modifier.size(16.dp))
|
||||
Spacer(Modifier.width(4.dp))
|
||||
}
|
||||
Text(
|
||||
text = member.name,
|
||||
fontWeight = FontWeight.Medium,
|
||||
fontSize = 15.sp,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
textDecoration = if (member.isDeleted) TextDecoration.LineThrough else TextDecoration.None,
|
||||
color = if (member.isSelf) Color(0xFF4CAF50) else Color.Unspecified,
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
}
|
||||
val parts = mutableListOf<String>()
|
||||
if (member.isAdmin) parts.add("Admin")
|
||||
if (member.isSuper) parts.add("Super")
|
||||
|
||||
Reference in new issue
Block a user