OASIS_MOBILE/src/server/phone_video_android.js
oasis-bot c332afd6ea upstream: integrar Oasis 1.3.1
Base del merge a tres bandas: git 0.9.5 de epsylon, esta rama y el src de la
APK oficial 1.3.1 (la variante movil: OASIS_MOBILE, regex sin \p{}, audio y
video de Android). Corre en el mismo nodejs-mobile 18.20.4 que ya usabamos.

Se conserva de la rama: Karvan, identidades y multicuenta, topbar y barra
inferior, borrado de EXIF sin sharp, filtro hot del foro, RTC sin STUN y los
modulos apagados en movil (wallet, banking, torrents).

Se toma de upstream lo que ya hace de serie: respuesta citada en chats, ssb-lan
en movil, configuracion en ~/.ssb/oasis (sobrevive a reinstalar el backend).
El asistente de bienvenida deja elegir workflow tambien en movil.
2026-10-18 02:52:17 +02:00

30 lines
782 B
JavaScript

const fs = require('fs');
const net = require('net');
const path = require('path');
const { jpegSplitter } = require('./phone_module');
const MARKER = path.join(__dirname, '..', '..', '.audio_bridge');
const bridgePort = () => {
try {
const port = Number(String(fs.readFileSync(MARKER, 'utf8')).trim());
return Number.isFinite(port) && port > 0 ? port : 0;
} catch (_) {
return 0;
}
};
module.exports = () => {
const port = bridgePort();
if (!port) return null;
return {
capture(onJpeg) {
const sock = net.connect(port, '127.0.0.1');
sock.on('error', () => {});
sock.setNoDelay(true);
sock.write('V');
sock.on('data', jpegSplitter(onJpeg));
return { stop() { try { sock.destroy(); } catch (_) {} } };
}
};
};