mirror of
https://github.com/mautrix/whatsapp.git
synced 2026-11-12 09:09:17 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0e566e863 | ||
|
|
bf68fcfe56 | ||
|
|
97f2ee1d83 | ||
|
|
3cad353823 |
2 changed files with 11 additions and 3 deletions
|
|
@ -52,7 +52,7 @@ func (wa *WhatsAppConnector) GetCapabilities() *bridgev2.NetworkGeneralCapabilit
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wa *WhatsAppConnector) GetBridgeInfoVersion() (info, caps int) {
|
func (wa *WhatsAppConnector) GetBridgeInfoVersion() (info, caps int) {
|
||||||
return 1, 10
|
return 1, 11
|
||||||
}
|
}
|
||||||
|
|
||||||
const WAMaxFileSize = 2000 * 1024 * 1024
|
const WAMaxFileSize = 2000 * 1024 * 1024
|
||||||
|
|
@ -67,7 +67,7 @@ func supportedIfFFmpeg() event.CapabilitySupportLevel {
|
||||||
}
|
}
|
||||||
|
|
||||||
func capID() string {
|
func capID() string {
|
||||||
base := "fi.mau.whatsapp.capabilities.2026_10_01"
|
base := "fi.mau.whatsapp.capabilities.2026_11_10"
|
||||||
if ffmpeg.Supported() {
|
if ffmpeg.Supported() {
|
||||||
return base + "+ffmpeg"
|
return base + "+ffmpeg"
|
||||||
}
|
}
|
||||||
|
|
@ -119,6 +119,7 @@ var whatsappCaps = &event.RoomFeatures{
|
||||||
MimeTypes: map[string]event.CapabilitySupportLevel{
|
MimeTypes: map[string]event.CapabilitySupportLevel{
|
||||||
"audio/ogg; codecs=opus": event.CapLevelFullySupported,
|
"audio/ogg; codecs=opus": event.CapLevelFullySupported,
|
||||||
"audio/ogg": event.CapLevelUnsupported,
|
"audio/ogg": event.CapLevelUnsupported,
|
||||||
|
"audio/webm": supportedIfFFmpeg(),
|
||||||
},
|
},
|
||||||
Caption: event.CapLevelDropped,
|
Caption: event.CapLevelDropped,
|
||||||
MaxSize: WAMaxFileSize,
|
MaxSize: WAMaxFileSize,
|
||||||
|
|
|
||||||
|
|
@ -700,7 +700,14 @@ func (mc *MessageConverter) reuploadFileToWhatsApp(
|
||||||
// Hopefully it's opus already
|
// Hopefully it's opus already
|
||||||
mime = "audio/ogg; codecs=opus"
|
mime = "audio/ogg; codecs=opus"
|
||||||
default:
|
default:
|
||||||
return nil, nil, mime, fmt.Errorf("%w %s in audio message", bridgev2.ErrUnsupportedMediaType, mime)
|
if content.MSC3245Voice == nil || !ffmpeg.Supported() {
|
||||||
|
return nil, nil, mime, fmt.Errorf("%w %s in audio message", bridgev2.ErrUnsupportedMediaType, mime)
|
||||||
|
}
|
||||||
|
data, err = ffmpeg.ConvertBytes(ctx, data, ".ogg", []string{}, []string{"-vn", "-c:a", "libopus"}, mime)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, mime, fmt.Errorf("%w (voice to ogg): %w", bridgev2.ErrMediaConvertFailed, err)
|
||||||
|
}
|
||||||
|
mime = "audio/ogg; codecs=opus"
|
||||||
}
|
}
|
||||||
mediaType = whatsmeow.MediaAudio
|
mediaType = whatsmeow.MediaAudio
|
||||||
case event.MsgFile:
|
case event.MsgFile:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue