From d80c17b582f426b588354e3b68969ecf1e7cd769 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 6 Aug 2025 17:33:14 +0200 Subject: [PATCH 1/2] Add TrackData notification --- doc/docs.md | 20 ++++++++++++++++++++ fishjam/server_notifications.proto | 9 +++++++++ 2 files changed, 29 insertions(+) diff --git a/doc/docs.md b/doc/docs.md index 4a61ceb..ad51cca 100644 --- a/doc/docs.md +++ b/doc/docs.md @@ -86,6 +86,7 @@ - [ServerMessage.SubscribeResponse](#fishjam-ServerMessage-SubscribeResponse) - [ServerMessage.Track](#fishjam-ServerMessage-Track) - [ServerMessage.TrackAdded](#fishjam-ServerMessage-TrackAdded) + - [ServerMessage.TrackData](#fishjam-ServerMessage-TrackData) - [ServerMessage.TrackMetadataUpdated](#fishjam-ServerMessage-TrackMetadataUpdated) - [ServerMessage.TrackRemoved](#fishjam-ServerMessage-TrackRemoved) - [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected) @@ -1003,6 +1004,7 @@ Defines any type of message passed between FJ and server peer | stream_disconnected | [ServerMessage.StreamDisconnected](#fishjam-ServerMessage-StreamDisconnected) | | | | viewer_connected | [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected) | | | | viewer_disconnected | [ServerMessage.ViewerDisconnected](#fishjam-ServerMessage-ViewerDisconnected) | | | +| track_data | [ServerMessage.TrackData](#fishjam-ServerMessage-TrackData) | | | @@ -1334,6 +1336,24 @@ Notification sent when peer or component adds new track + + +### ServerMessage.TrackData +Notification containing a chunk of a track's data stream + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| track | [ServerMessage.Track](#fishjam-ServerMessage-Track) | | | +| data | [bytes](#bytes) | | | + + + + + + ### ServerMessage.TrackMetadataUpdated diff --git a/fishjam/server_notifications.proto b/fishjam/server_notifications.proto index 94ceaf6..385afab 100644 --- a/fishjam/server_notifications.proto +++ b/fishjam/server_notifications.proto @@ -148,6 +148,14 @@ message ServerMessage { Track track = 4; } + // Notification containing a chunk of a track's data stream + message TrackData { + string room_id = 1; + string peer_id = 2; + Track track = 3; + bytes data = 4; + } + // Notification sent when streamer successfully connects message StreamConnected { string stream_id = 1; @@ -197,5 +205,6 @@ message ServerMessage { StreamDisconnected stream_disconnected = 23; ViewerConnected viewer_connected = 24; ViewerDisconnected viewer_disconnected = 25; + TrackData track_data = 26; } } From 96063d31bc9349e7bfe617552ecc984caa59098f Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Thu, 7 Aug 2025 11:59:29 +0200 Subject: [PATCH 2/2] Fix checks --- .../lib/fishjam/server_notifications.pb.ex | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/fishjam_protos/lib/fishjam/server_notifications.pb.ex b/fishjam_protos/lib/fishjam/server_notifications.pb.ex index 83bc9d6..f0debf7 100644 --- a/fishjam_protos/lib/fishjam/server_notifications.pb.ex +++ b/fishjam_protos/lib/fishjam/server_notifications.pb.ex @@ -210,6 +210,17 @@ defmodule Fishjam.ServerMessage.TrackMetadataUpdated do field :track, 4, type: Fishjam.ServerMessage.Track end +defmodule Fishjam.ServerMessage.TrackData do + @moduledoc false + + use Protobuf, protoc_gen_elixir_version: "0.15.0", syntax: :proto3 + + field :room_id, 1, type: :string, json_name: "roomId" + field :peer_id, 2, type: :string, json_name: "peerId" + field :track, 3, type: Fishjam.ServerMessage.Track + field :data, 4, type: :bytes +end + defmodule Fishjam.ServerMessage.StreamConnected do @moduledoc false @@ -364,4 +375,6 @@ defmodule Fishjam.ServerMessage do type: Fishjam.ServerMessage.ViewerDisconnected, json_name: "viewerDisconnected", oneof: 0 + + field :track_data, 26, type: Fishjam.ServerMessage.TrackData, json_name: "trackData", oneof: 0 end