feat: integrate Opus codec into lib/libopus + voice messages in chatgui
- Add lib/libopus/ (opus v1.6.1 embedded source: CELT 18 .c, SILK 77 .c, SILK float 28 .c, OPUS core 14 .c) - Add lib/opus_codec.h/.c (wrapper: encoder, decoder, raw PCM int16) - Add tests/test_opus_codec.c (7 tests: silence, sine, compression, PLC, null, defaults, multi-frame) - chatgui: AudioRecorder (miniaudio capture, 48kHz mono) - chatgui: VoiceEncoder (PCM→Opus file with custom container) - chatgui: VoicePlayer (Opus→PCM playback via SoundManager) - chatgui: PTT button in InputBar, voice message send/receive in MessageList - chatgui: AudioDeviceSettingsPage (device selection, persisted in ui_state) - chatgui: MessageDelegate voice message rendering (play button + duration) - Update autotools: configure.ac, Makefile.am, src/Makefile.am, tests/Makefile.am - Update CMake: chatgui CMakeLists.txt, libutun CMakeLists.txt (link libopus_internal.a)
This commit is contained in:
1 parent
4a23593020
commit
4fde0b0325
260 files changed
+72665
-16
No files matched your search
@@ -14,6 +14,9 @@ enum MessageDataRole {
|
||||
MsgReactionsRole = Qt::UserRole + 9,
|
||||
MsgIdRole = Qt::UserRole + 10,
|
||||
MsgIsOutgoingRole = Qt::UserRole + 11,
|
||||
MsgContentTypeRole = Qt::UserRole + 12,
|
||||
MsgVoiceDurationRole = Qt::UserRole + 13,
|
||||
MsgVoiceFileRole = Qt::UserRole + 14,
|
||||
MsgAuthorNodeIdRole = Qt::UserRole + 20,
|
||||
};
|
||||
|
||||
@@ -46,6 +49,10 @@ private:
|
||||
int emojiCount = 0;
|
||||
QRect emojiArea;
|
||||
bool isOutgoing = false;
|
||||
bool isVoice = false;
|
||||
QRect voicePlayBtnRect;
|
||||
QRect voiceDurationRect;
|
||||
QString voiceDuration;
|
||||
};
|
||||
|
||||
Layout calcLayout(const QStyleOptionViewItem &option,
|
||||
|
||||
Reference in new issue
Block a user