built receiver, they did not come

This commit is contained in:
2025-10-13 23:13:08 +03:00
parent cc109157eb
commit 12ea31cc7f
3 changed files with 114 additions and 31 deletions

56
src/receiver.zig Normal file
View File

@@ -0,0 +1,56 @@
const std = @import("std");
const omt = @cImport(@cInclude("libomt.h"));
pub fn main() !void {
// var gpa = std.heap.GeneralPurposeAllocator(.{}){};
// const allocator = gpa.allocator();
std.log.info("Receiving...", .{});
omt.omt_setloggingfilename("omtrecvtest.log");
var found_address_count: i32 = 0;
_ = omt.omt_discovery_getaddresses(&found_address_count);
std.log.info("Found {d} omt addresses\n", .{found_address_count});
const receiver_flags = omt.OMTFrameType_Video | omt.OMTFrameType_Audio | omt.OMTFrameType_Metadata;
const receiver = omt.omt_receive_create(
"pop-os (Omtoy Sender)",
receiver_flags,
omt.OMTPreferredVideoFormat_UYVYorUYVAorP216orPA16,
0,
);
defer omt.omt_receive_destroy(receiver);
while (true) {
const frame = omt.omt_receive(receiver, receiver_flags, 40);
if (frame != null) {
dumpOMTMediaFrameInfo(frame);
}
}
}
fn dumpOMTMediaFrameInfo(frame: *omt.OMTMediaFrame) void {
std.log.info("--------- Received --------", .{});
switch (frame.*.Type) {
omt.OMTFrameType_Video => dumpVideoFrameInfo(frame),
omt.OMTFrameType_Audio => dumpAudioFrameInfo(frame),
omt.OMTFrameType_Metadata => dumpMetadataFrameInfo(frame),
else => std.log.err("Undefined frame type", .{}),
}
}
fn dumpVideoFrameInfo(frame: *omt.OMTMediaFrame) void {
std.log.info("Frame: Video", .{});
_ = frame;
}
fn dumpAudioFrameInfo(frame: *omt.OMTMediaFrame) void {
std.log.info("Frame: Audio", .{});
_ = frame;
}
fn dumpMetadataFrameInfo(frame: *omt.OMTMediaFrame) void {
std.log.info("Frame: Metadata", .{});
_ = frame;
}

View File

@@ -5,12 +5,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const allocator = gpa.allocator();
var found_address_count: i32 = 0;
_ = omt.omt_discovery_getaddresses(&found_address_count);
std.debug.print("Found {d} omt addresses\n", .{found_address_count});
std.log.info("Send test...", .{});
std.log.info("Sending...", .{});
omt.omt_setloggingfilename("omtsendtest.log");
const sender = omt.omt_send_create("Omtoy Sender", omt.OMTQuality_Default) orelse undefined;
@@ -64,6 +59,7 @@ pub fn main() !void {
const audio_samples = 800;
const audio_buffer = try allocator.alloc(f32, audio_samples);
defer allocator.free(audio_buffer);
var prng = std.Random.DefaultPrng.init(80085);
const rng = prng.random();
@@ -89,6 +85,8 @@ pub fn main() !void {
var bytes: i32 = 0;
const two_lines = try allocator.alloc(u8, stride * 2);
defer allocator.free(two_lines);
@memset(two_lines, 255);
var line_position: usize = 0;
@@ -128,9 +126,6 @@ pub fn main() !void {
_ = omt.omt_send(sender, &audio_frame);
fillAudioBuffer(rng, audio_buffer);
}
// Check we're on!
}
fn fillAudioBuffer(rng: std.Random, buffer: []f32) void {