>>27029"TorX" is a library, not the two proof-of-concept clients, so I'm not going to talk about "we have audio messages, but not voice chat and video chat" those features only exist or don't yet exist in the user interface, which is outside the scope of the library.
TorX, the library, supports P2P and group chats, and supports pushing any type of data, in the form of file transfers and custom protocols, over those connections to groups, individual peers (private messages), and individuals.
Regarding Briar:
So I haven't used Briar (it failed to install on my phone last time I tried), but based on my recollection of reviewing some of the source code and documentation, Briar is designed more with "resilience" in mind than anonymity. It's a P2P encrypted mesh network more than anything else, which is a cool concept aimed at developing countries.
However, they've taken a "kitchen sink" route of feature development, and developed everything in the user-land, so alternative clients (and desktop clients) lag vastly behind their "mobile first" clients. Their code-base is bloated and the underlying protocols are (as far as I can tell) not well separated.
My development method has been a focus on simplicity, separation, and non-redundancy to ensure auditability, both in the proof-of-concept UI layers and the library layer. (do one thing and do it well, at least in the library)
Importantly:
The main conceptual difference with Briar and Tor chats such as cwtch.im, AnonymousMessenger, Seek, or Ricochet-Refresh, which is the critical basis of my library, and the inspiration for it in the beginning, is that you have no global persona. You don't have one hidden service that identifies you as one person. To everyone you connect to, you are a different person. You have a unique hidden service. You don't have an avatar, and your friend sets your name. To one person you are "Bob", to another person you are "Frank", and in some group you might be "Sally". This applies both to your "name" (which your friend sets on their own device) and your onion (which you exchange at the first hand-shake).
Additionally, there are single-use hidden services used for the initial connection (the first hand-shake). I create a single-use hidden service, you connect to it, then it we exchange two fresh hidden services (one for you, one for me, unique to us) then my initial hidden service gets destroyed and we connect to each other over the fresh onions (you connect to mine, I connect to yours, and then we have two pipes for full-duplex data transfer). So, you don't need to share it over an impenetrably encrypted medium. You only need to make sure it gets to your friend without being modified.
(Note: there is also the option of "multiple use" onions, like that which I posted the QR code for. With those, each time a new person connects, we still create fresh onions and therefore fresh personas, but if I share this QR code here and on Facebook, obviously the glowies can make the connection. So I would either generate a separate multiple-use onionID for Facebook/Grandma, or much preferably, a single use onion for Grandma. With Briar or throw-away email accounts, this isn't an option. If I share my Briar account with you and on Facebook, I'm doxxed.)