Expose source codec selection and aggregate send telemetry through JNI

This commit is contained in:
evgeny committed 2026-10-14 01:09:30 +02:00
1 parent 8b6c72b704
commit cd8a5392d5
3 files changed
+29 -10

No files matched your search

@@ -200,12 +200,13 @@ object NativeLib {
/* Live media используют отдельную ограниченную очередь, минуя чатовый event bus. */
fun streamOpen(id: Long, group: Long, source: Long = 0, width: Int = 0, height: Int = 0,
rotation: Int = 0, audio: Boolean = true, epoch: Long = 0): Boolean =
nativeStreamOpen(id, group, source, width, height, rotation, audio, epoch)
rotation: Int = 0, audio: Boolean = true, epoch: Long = 0, videoCodec: Int = 1): Boolean =
nativeStreamOpen(id, group, source, width, height, rotation, audio, epoch, videoCodec)
fun streamWatch(group: Long): Boolean = nativeStreamWatch(group)
fun streamFeed(id: Long, video: Boolean, pts: Long, key: Boolean, data: ByteArray, revision: Long = 0,
width: Int = 0, height: Int = 0, rotation: Int = 0, audio: Boolean = true): Int =
nativeStreamFeed(id, video, pts, key, data, revision, width, height, rotation, audio)
width: Int = 0, height: Int = 0, rotation: Int = 0, audio: Boolean = true, videoCodec: Int = 1): Int =
nativeStreamFeed(id, video, pts, key, data, revision, width, height, rotation, audio, videoCodec)
fun streamTxStats(id: Long): LongArray? = nativeStreamTxStats(id)
fun streamStop(id: Long) { nativeStreamStop(id) }
fun streamPull(id: Long, positionUs: Long = -1, videoAheadUs: Long = 80000, audioAheadUs: Long = 80000): ByteArray? =
nativeStreamPull(id, positionUs, videoAheadUs, audioAheadUs)
@@ -225,10 +226,11 @@ object NativeLib {
fun streamOpusDecode(handle: Long, packet: ByteArray): ShortArray? = nativeStreamOpusDecode(handle, packet)
fun streamOpusClose(handle: Long) { nativeStreamOpusClose(handle) }
private external fun nativeStreamOpen(id: Long, group: Long, source: Long, width: Int, height: Int, rotation: Int,
audio: Boolean, epoch: Long): Boolean
audio: Boolean, epoch: Long, videoCodec: Int): Boolean
private external fun nativeStreamWatch(group: Long): Boolean
private external fun nativeStreamFeed(id: Long, video: Boolean, pts: Long, key: Boolean, data: ByteArray,
revision: Long, width: Int, height: Int, rotation: Int, audio: Boolean): Int
revision: Long, width: Int, height: Int, rotation: Int, audio: Boolean, videoCodec: Int): Int
private external fun nativeStreamTxStats(id: Long): LongArray?
private external fun nativeStreamStop(id: Long)
private external fun nativeStreamPull(id: Long, position: Long, videoAhead: Long, audioAhead: Long): ByteArray?
private external fun nativeStreamStatus(id: Long): LongArray?