view .hgtags @ 4231:e11b13418ba6

plugin XEP-0353, XEP-0234, jingle: WebRTC data channel signaling implementation: Implement XEP-0343: Signaling WebRTC Data Channels in Jingle. The current version of the XEP (0.3.1) has no implementation and contains some flaws. After discussing this on xsf@, Daniel (from Conversations) mentioned that they had a sprint with Larma (from Dino) to work on another version and provided me with this link: https://gist.github.com/iNPUTmice/6c56f3e948cca517c5fb129016d99e74 . I have used it for my implementation. This implementation reuses work done on Jingle A/V call (notably XEP-0176 and XEP-0167 plugins), with adaptations. When used, XEP-0234 will not handle the file itself as it normally does. This is because WebRTC has several implementations (browser for web interface, GStreamer for others), and file/data must be handled directly by the frontend. This is particularly important for web frontends, as the file is not sent from the backend but from the end-user's browser device. Among the changes, there are: - XEP-0343 implementation. - `file_send` bridge method now use serialised dict as output. - New `BaseTransportHandler.is_usable` method which get content data and returns a boolean (default to `True`) to tell if this transport can actually be used in this context (when we are initiator). Used in webRTC case to see if call data are available. - Support of `application` media type, and everything necessary to handle data channels. - Better confirmation message, with file name, size and description when available. - When file is accepted in preflight, it is specified in following `action_new` signal for actual file transfer. This way, frontend can avoid the display or 2 confirmation messages. - XEP-0166: when not specified, default `content` name is now its index number instead of a UUID. This follows the behaviour of browsers. - XEP-0353: better handling of events such as call taken by another device. - various other updates. rel 441
author Goffi <goffi@goffi.org>
date Sat, 06 Apr 2024 12:57:23 +0200
parents af09b5aaa5d7
children
line wrap: on
line source

d660d1e5cee410bf9ac15b89ceb93543bcff0a6f 0.0.2
b95550704b4f965c9dca5f6681186bf8a9b64074 0.0.3
b778622b87337785252d47d2b3c4fe3085a37ab4 0.1.0
53aa958a2d3d6451ae75610e3c6fb947d3d6f21b 0.1.1
cc2afb92ab93a4c6399ca9b6cdc5224878a57a24 0.2.0
df6b9b881f0e9f335483c986b00fd58f2ed6164a 0.3.0
12cfa23c6ab9235dddb2e8887eb0fe90fc98da75 0.4.0
f93e917be3f41a254a4612da22ed9fc5e0209f80 0.4.1
a090e5ee83c2c2d9d110c7516c3d74573426a97b 0.5.0
008c8ccd5dcc4c47578ee7190e6823186720c864 0.5.1
21e6d11615eaeb7e03bacf4eb53e5c3c5d54ce08 0.6.0
b075c5a576ef3ce628e30b0ce02bf00ec35a3c4c 0.6.1
eecd84a2530aacb3255f702cdab2010b39bb1851 0.7.0a1
eecd84a2530aacb3255f702cdab2010b39bb1851 0.7.0a1
0000000000000000000000000000000000000000 0.7.0a1
0000000000000000000000000000000000000000 0.7.0a1
534b264d63df0e6241395b26cfd994b9fee187f0 0.7.0a1
b42aa52d262106ee6743d0205830be9d837ebfa9 0.7.0a2
7d2d28564b3e8c540e7dfc38f0742cbd440f9013 0.7.0a3
1798d4ace296a95fa4081b2e84fa6c97b60a22e3 0.7.0a4
c6464685fcbbb368823919affca3fc16cb3c83c4 0.7.0b1
43e5e0dc8c609cbd1d814043a384a72bef16e55e 0.7.0b2
dbf24ba40396ec3f517f8f7855531d24d0ee701f 0.7.0b3
86bfdf73d24a7a1b7f56abdf5ca51552c6e41101 0.7.0b4
c7138e9132138f79ba66b0d65c45d45399f55a2b 0.7.0
efe2445b053c989c73d0f0462cf7543de9d67f1c v0.8.0b1
f97be63871e4187d6db5667fd0df264c64017655 v0.8.0