From f6bbaf313e92115dbd541f8fc80f062bf72ed5cd Mon Sep 17 00:00:00 2001 From: Karol Konkol Date: Thu, 14 Nov 2024 17:41:40 +0100 Subject: [PATCH 1/2] Add docs --- README.md | 12 +- doc/docs.md | 1166 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1177 insertions(+), 1 deletion(-) create mode 100644 doc/docs.md diff --git a/README.md b/README.md index 45f93ca..6573e12 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,18 @@ This repository contains protocol buffers definitions for [fishjam-cloud organiz ## How to add this repo as a git submodule in your own repository Use the command below: +```command +git submodule add https://github.com/fishjam-cloud/protos.git` +``` -`git submodule add https://github.com/fishjam-cloud/protos.git` +## How to update docs + +Install [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) plugin. + +Use the command below: +```command +protoc --doc_out=./doc --doc_opt=markdown,docs.md fishjam/**/*.proto +``` ## Copyright and License diff --git a/doc/docs.md b/doc/docs.md new file mode 100644 index 0000000..8085ef3 --- /dev/null +++ b/doc/docs.md @@ -0,0 +1,1166 @@ +# Protocol Documentation + + +## Table of Contents + +- [fishjam/media_events/peer/peer.proto](#fishjam_media_events_peer_peer-proto) + - [MediaEvent](#fishjam-media_events-peer-MediaEvent) + - [MediaEvent.Connect](#fishjam-media_events-peer-MediaEvent-Connect) + - [MediaEvent.Disconnect](#fishjam-media_events-peer-MediaEvent-Disconnect) + - [MediaEvent.RenegotiateTracks](#fishjam-media_events-peer-MediaEvent-RenegotiateTracks) + - [MediaEvent.SdpOffer](#fishjam-media_events-peer-MediaEvent-SdpOffer) + - [MediaEvent.TrackBitrate](#fishjam-media_events-peer-MediaEvent-TrackBitrate) + - [MediaEvent.TrackIdToBitrates](#fishjam-media_events-peer-MediaEvent-TrackIdToBitrates) + - [MediaEvent.TrackIdToMetadata](#fishjam-media_events-peer-MediaEvent-TrackIdToMetadata) + - [MediaEvent.UpdateEndpointMetadata](#fishjam-media_events-peer-MediaEvent-UpdateEndpointMetadata) + - [MediaEvent.UpdateTrackMetadata](#fishjam-media_events-peer-MediaEvent-UpdateTrackMetadata) + - [MediaEvent.VariantBitrate](#fishjam-media_events-peer-MediaEvent-VariantBitrate) + +- [fishjam/media_events/server/server.proto](#fishjam_media_events_server_server-proto) + - [MediaEvent](#fishjam-media_events-server-MediaEvent) + - [MediaEvent.Connected](#fishjam-media_events-server-MediaEvent-Connected) + - [MediaEvent.Endpoint](#fishjam-media_events-server-MediaEvent-Endpoint) + - [MediaEvent.EndpointAdded](#fishjam-media_events-server-MediaEvent-EndpointAdded) + - [MediaEvent.EndpointRemoved](#fishjam-media_events-server-MediaEvent-EndpointRemoved) + - [MediaEvent.EndpointUpdated](#fishjam-media_events-server-MediaEvent-EndpointUpdated) + - [MediaEvent.Error](#fishjam-media_events-server-MediaEvent-Error) + - [MediaEvent.OfferData](#fishjam-media_events-server-MediaEvent-OfferData) + - [MediaEvent.OfferData.TrackTypes](#fishjam-media_events-server-MediaEvent-OfferData-TrackTypes) + - [MediaEvent.SdpAnswer](#fishjam-media_events-server-MediaEvent-SdpAnswer) + - [MediaEvent.Track](#fishjam-media_events-server-MediaEvent-Track) + - [MediaEvent.TrackUpdated](#fishjam-media_events-server-MediaEvent-TrackUpdated) + - [MediaEvent.TracksAdded](#fishjam-media_events-server-MediaEvent-TracksAdded) + - [MediaEvent.TracksRemoved](#fishjam-media_events-server-MediaEvent-TracksRemoved) + - [MediaEvent.VadNotification](#fishjam-media_events-server-MediaEvent-VadNotification) + + - [MediaEvent.VadNotification.Status](#fishjam-media_events-server-MediaEvent-VadNotification-Status) + +- [fishjam/media_events/shared.proto](#fishjam_media_events_shared-proto) + - [Candidate](#fishjam-media_events-Candidate) + - [Metadata](#fishjam-media_events-Metadata) + - [MidToTrackId](#fishjam-media_events-MidToTrackId) + + - [Variant](#fishjam-media_events-Variant) + +- [fishjam/peer_notifications.proto](#fishjam_peer_notifications-proto) + - [PeerMessage](#fishjam-PeerMessage) + - [PeerMessage.AuthRequest](#fishjam-PeerMessage-AuthRequest) + - [PeerMessage.Authenticated](#fishjam-PeerMessage-Authenticated) + - [PeerMessage.MediaEvent](#fishjam-PeerMessage-MediaEvent) + - [PeerMessage.RTCStatsReport](#fishjam-PeerMessage-RTCStatsReport) + +- [fishjam/server_notifications.proto](#fishjam_server_notifications-proto) + - [ServerMessage](#fishjam-ServerMessage) + - [ServerMessage.AuthRequest](#fishjam-ServerMessage-AuthRequest) + - [ServerMessage.Authenticated](#fishjam-ServerMessage-Authenticated) + - [ServerMessage.ComponentCrashed](#fishjam-ServerMessage-ComponentCrashed) + - [ServerMessage.HlsPlayable](#fishjam-ServerMessage-HlsPlayable) + - [ServerMessage.HlsUploadCrashed](#fishjam-ServerMessage-HlsUploadCrashed) + - [ServerMessage.HlsUploaded](#fishjam-ServerMessage-HlsUploaded) + - [ServerMessage.MetricsReport](#fishjam-ServerMessage-MetricsReport) + - [ServerMessage.PeerAdded](#fishjam-ServerMessage-PeerAdded) + - [ServerMessage.PeerConnected](#fishjam-ServerMessage-PeerConnected) + - [ServerMessage.PeerCrashed](#fishjam-ServerMessage-PeerCrashed) + - [ServerMessage.PeerDeleted](#fishjam-ServerMessage-PeerDeleted) + - [ServerMessage.PeerDisconnected](#fishjam-ServerMessage-PeerDisconnected) + - [ServerMessage.PeerMetadataUpdated](#fishjam-ServerMessage-PeerMetadataUpdated) + - [ServerMessage.RoomCrashed](#fishjam-ServerMessage-RoomCrashed) + - [ServerMessage.RoomCreated](#fishjam-ServerMessage-RoomCreated) + - [ServerMessage.RoomDeleted](#fishjam-ServerMessage-RoomDeleted) + - [ServerMessage.SubscribeRequest](#fishjam-ServerMessage-SubscribeRequest) + - [ServerMessage.SubscribeResponse](#fishjam-ServerMessage-SubscribeResponse) + - [ServerMessage.Track](#fishjam-ServerMessage-Track) + - [ServerMessage.TrackAdded](#fishjam-ServerMessage-TrackAdded) + - [ServerMessage.TrackMetadataUpdated](#fishjam-ServerMessage-TrackMetadataUpdated) + - [ServerMessage.TrackRemoved](#fishjam-ServerMessage-TrackRemoved) + + - [ServerMessage.EventType](#fishjam-ServerMessage-EventType) + - [ServerMessage.TrackType](#fishjam-ServerMessage-TrackType) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## fishjam/media_events/peer/peer.proto + + + + + +### MediaEvent +Defines any type of message sent from Peer to Membrane RTC Engine + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| connect | [MediaEvent.Connect](#fishjam-media_events-peer-MediaEvent-Connect) | | | +| disconnect | [MediaEvent.Disconnect](#fishjam-media_events-peer-MediaEvent-Disconnect) | | | +| update_endpoint_metadata | [MediaEvent.UpdateEndpointMetadata](#fishjam-media_events-peer-MediaEvent-UpdateEndpointMetadata) | | | +| update_track_metadata | [MediaEvent.UpdateTrackMetadata](#fishjam-media_events-peer-MediaEvent-UpdateTrackMetadata) | | | +| renegotiate_tracks | [MediaEvent.RenegotiateTracks](#fishjam-media_events-peer-MediaEvent-RenegotiateTracks) | | | +| candidate | [fishjam.media_events.Candidate](#fishjam-media_events-Candidate) | | | +| sdp_offer | [MediaEvent.SdpOffer](#fishjam-media_events-peer-MediaEvent-SdpOffer) | | | +| track_bitrate | [MediaEvent.TrackBitrate](#fishjam-media_events-peer-MediaEvent-TrackBitrate) | | | + + + + + + + + +### MediaEvent.Connect +Sent when a peer wants to join WebRTC Endpoint. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.Disconnect +Sent when a peer disconnects from WebRTC Endpoint. + + + + + + + + +### MediaEvent.RenegotiateTracks +Sent when peer wants to renegatiate connection due to adding a track or removing a track + + + + + + + + +### MediaEvent.SdpOffer +Sent as a response to `offerData` media event during renegotiation +Maps contain only information about current peer's `sendonly` tracks. +The "mid" is an identifier used to associate an RTP packet with an MLine from the SDP offer/answer. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sdp_offer | [string](#string) | | | +| track_id_to_metadata | [MediaEvent.TrackIdToMetadata](#fishjam-media_events-peer-MediaEvent-TrackIdToMetadata) | repeated | | +| track_id_to_bitrates | [MediaEvent.TrackIdToBitrates](#fishjam-media_events-peer-MediaEvent-TrackIdToBitrates) | repeated | | +| mid_to_track_id | [fishjam.media_events.MidToTrackId](#fishjam-media_events-MidToTrackId) | repeated | | + + + + + + + + +### MediaEvent.TrackBitrate +Sent when Peer wants to update its track's bitrate + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_id | [string](#string) | | | +| bitrate | [int32](#int32) | | | + + + + + + + + +### MediaEvent.TrackIdToBitrates + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_bitrate | [MediaEvent.TrackBitrate](#fishjam-media_events-peer-MediaEvent-TrackBitrate) | | | + + + + + + + + +### MediaEvent.TrackIdToMetadata + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.UpdateEndpointMetadata +Sent when a peer wants to update its metadata + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.UpdateTrackMetadata +Sent when a peer wants to update its track's metadata + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.VariantBitrate +SCHEMAS + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| variant | [fishjam.media_events.Variant](#fishjam-media_events-Variant) | | | +| bitrate | [int32](#int32) | | | + + + + + + + + + + + + + + + + +

Top

+ +## fishjam/media_events/server/server.proto + + + + + +### MediaEvent +Defines any type of message sent from Membrane RTC Engine to Peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_updated | [MediaEvent.EndpointUpdated](#fishjam-media_events-server-MediaEvent-EndpointUpdated) | | | +| track_updated | [MediaEvent.TrackUpdated](#fishjam-media_events-server-MediaEvent-TrackUpdated) | | | +| tracks_added | [MediaEvent.TracksAdded](#fishjam-media_events-server-MediaEvent-TracksAdded) | | | +| tracks_removed | [MediaEvent.TracksRemoved](#fishjam-media_events-server-MediaEvent-TracksRemoved) | | | +| endpoint_added | [MediaEvent.EndpointAdded](#fishjam-media_events-server-MediaEvent-EndpointAdded) | | | +| endpoint_removed | [MediaEvent.EndpointRemoved](#fishjam-media_events-server-MediaEvent-EndpointRemoved) | | | +| connected | [MediaEvent.Connected](#fishjam-media_events-server-MediaEvent-Connected) | | | +| error | [MediaEvent.Error](#fishjam-media_events-server-MediaEvent-Error) | | | +| offer_data | [MediaEvent.OfferData](#fishjam-media_events-server-MediaEvent-OfferData) | | | +| candidate | [fishjam.media_events.Candidate](#fishjam-media_events-Candidate) | | | +| sdp_answer | [MediaEvent.SdpAnswer](#fishjam-media_events-server-MediaEvent-SdpAnswer) | | | +| vad_notification | [MediaEvent.VadNotification](#fishjam-media_events-server-MediaEvent-VadNotification) | | | + + + + + + + + +### MediaEvent.Connected +Sent to the peer after connecting to the WebRTC Endpoint. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| endpoints | [MediaEvent.Endpoint](#fishjam-media_events-server-MediaEvent-Endpoint) | repeated | | + + + + + + + + +### MediaEvent.Endpoint + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| endpoint_type | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | +| tracks | [MediaEvent.Track](#fishjam-media_events-server-MediaEvent-Track) | repeated | | + + + + + + + + +### MediaEvent.EndpointAdded +Sent to all peers in the room after a new endpoint was added. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.EndpointRemoved +Sent to all remaining peers in the room after some endpoint was removed. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | + + + + + + + + +### MediaEvent.EndpointUpdated +Sent when metadata of one of the endpoints was updated + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.Error +Sent to inform that an error occurred on the server providing a message to show + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| message | [string](#string) | | | + + + + + + + + +### MediaEvent.OfferData +Sent to inform about the number of audio and video tracks that will be sent from the engine to the peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| tracks_types | [MediaEvent.OfferData.TrackTypes](#fishjam-media_events-server-MediaEvent-OfferData-TrackTypes) | | | + + + + + + + + +### MediaEvent.OfferData.TrackTypes + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| audio | [int32](#int32) | | | +| video | [int32](#int32) | | | + + + + + + + + +### MediaEvent.SdpAnswer +Sent after receiving `SdpOffer` from Peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sdp_answer | [string](#string) | | | +| mid_to_track_id | [fishjam.media_events.MidToTrackId](#fishjam-media_events-MidToTrackId) | repeated | | + + + + + + + + +### MediaEvent.Track +SCHEMAS + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.TrackUpdated +Sent when metadata of one of the tracks was updated + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| track_id | [string](#string) | | | +| metadata | [fishjam.media_events.Metadata](#fishjam-media_events-Metadata) | | | + + + + + + + + +### MediaEvent.TracksAdded +Sent to informs that one of the peers has added one or more tracks. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| tracks | [MediaEvent.Track](#fishjam-media_events-server-MediaEvent-Track) | repeated | | + + + + + + + + +### MediaEvent.TracksRemoved +Sent to informs that one of the peers has removed one or more tracks. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| endpoint_id | [string](#string) | | | +| track_ids | [string](#string) | repeated | | + + + + + + + + +### MediaEvent.VadNotification +Sent to inform that the track denoted by `trackId` has changed their voice actiivty +For this notification to work, the server must be configured to use VAD extension +and the sender must support it. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| track_id | [string](#string) | | | +| status | [MediaEvent.VadNotification.Status](#fishjam-media_events-server-MediaEvent-VadNotification-Status) | | | + + + + + + + + + + +### MediaEvent.VadNotification.Status + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| STATUS_UNSPECIFIED | 0 | | +| STATUS_SILENCE | 1 | | +| STATUS_SPEECH | 2 | | + + + + + + + + + + + +

Top

+ +## fishjam/media_events/shared.proto + + + + + +### Candidate +Contains information about an ICE candidate which will be sent to the peer/server + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| candidate | [string](#string) | | | +| sdp_m_line_index | [int32](#int32) | | | +| sdp_mid | [string](#string) | | | +| username_fragment | [string](#string) | | | + + + + + + + + +### Metadata + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| json | [string](#string) | | | + + + + + + + + +### MidToTrackId + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| mid | [string](#string) | | | +| track_id | [string](#string) | | | + + + + + + + + + + +### Variant + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| VARIANT_UNSPECIFIED | 0 | | +| VARIANT_LOW | 1 | | +| VARIANT_MEDIUM | 2 | | +| VARIANT_HIGH | 3 | | + + + + + + + + + + + +

Top

+ +## fishjam/peer_notifications.proto + + + + + +### PeerMessage +Defines any type of message sent between FJ and a peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| authenticated | [PeerMessage.Authenticated](#fishjam-PeerMessage-Authenticated) | | | +| auth_request | [PeerMessage.AuthRequest](#fishjam-PeerMessage-AuthRequest) | | | +| media_event | [PeerMessage.MediaEvent](#fishjam-PeerMessage-MediaEvent) | | | +| rtc_stats_report | [PeerMessage.RTCStatsReport](#fishjam-PeerMessage-RTCStatsReport) | | | +| peer_media_event | [media_events.peer.MediaEvent](#fishjam-media_events-peer-MediaEvent) | | | +| server_media_event | [media_events.server.MediaEvent](#fishjam-media_events-server-MediaEvent) | | | + + + + + + + + +### PeerMessage.AuthRequest +Request sent by peer, to authenticate to FJ server + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| sdk_version | [string](#string) | | | + + + + + + + + +### PeerMessage.Authenticated +Response sent by FJ, confirming successfull authentication + + + + + + + + +### PeerMessage.MediaEvent +Any type of WebRTC messages passed betweend FJ and peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data | [string](#string) | | | + + + + + + + + +### PeerMessage.RTCStatsReport +PeerConnection stats sent by peer +https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport#the_statistic_types + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## fishjam/server_notifications.proto + + + + + +### ServerMessage +Defines any type of message passed between FJ and server peer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_crashed | [ServerMessage.RoomCrashed](#fishjam-ServerMessage-RoomCrashed) | | | +| peer_connected | [ServerMessage.PeerConnected](#fishjam-ServerMessage-PeerConnected) | | | +| peer_disconnected | [ServerMessage.PeerDisconnected](#fishjam-ServerMessage-PeerDisconnected) | | | +| peer_crashed | [ServerMessage.PeerCrashed](#fishjam-ServerMessage-PeerCrashed) | | | +| component_crashed | [ServerMessage.ComponentCrashed](#fishjam-ServerMessage-ComponentCrashed) | | | +| authenticated | [ServerMessage.Authenticated](#fishjam-ServerMessage-Authenticated) | | | +| auth_request | [ServerMessage.AuthRequest](#fishjam-ServerMessage-AuthRequest) | | | +| subscribe_request | [ServerMessage.SubscribeRequest](#fishjam-ServerMessage-SubscribeRequest) | | | +| subscribe_response | [ServerMessage.SubscribeResponse](#fishjam-ServerMessage-SubscribeResponse) | | | +| room_created | [ServerMessage.RoomCreated](#fishjam-ServerMessage-RoomCreated) | | | +| room_deleted | [ServerMessage.RoomDeleted](#fishjam-ServerMessage-RoomDeleted) | | | +| metrics_report | [ServerMessage.MetricsReport](#fishjam-ServerMessage-MetricsReport) | | | +| hls_playable | [ServerMessage.HlsPlayable](#fishjam-ServerMessage-HlsPlayable) | | | +| hls_uploaded | [ServerMessage.HlsUploaded](#fishjam-ServerMessage-HlsUploaded) | | | +| hls_upload_crashed | [ServerMessage.HlsUploadCrashed](#fishjam-ServerMessage-HlsUploadCrashed) | | | +| peer_metadata_updated | [ServerMessage.PeerMetadataUpdated](#fishjam-ServerMessage-PeerMetadataUpdated) | | | +| track_added | [ServerMessage.TrackAdded](#fishjam-ServerMessage-TrackAdded) | | | +| track_removed | [ServerMessage.TrackRemoved](#fishjam-ServerMessage-TrackRemoved) | | | +| track_metadata_updated | [ServerMessage.TrackMetadataUpdated](#fishjam-ServerMessage-TrackMetadataUpdated) | | | +| peer_added | [ServerMessage.PeerAdded](#fishjam-ServerMessage-PeerAdded) | | | +| peer_deleted | [ServerMessage.PeerDeleted](#fishjam-ServerMessage-PeerDeleted) | | | + + + + + + + + +### ServerMessage.AuthRequest +Request sent by peer, to authenticate to FJ server + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | + + + + + + + + +### ServerMessage.Authenticated +Response sent by FJ, confirming successfull authentication + + + + + + + + +### ServerMessage.ComponentCrashed +Notification sent when a component crashes + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| component_id | [string](#string) | | | + + + + + + + + +### ServerMessage.HlsPlayable +Notification sent when the HLS stream becomes available in a room + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| component_id | [string](#string) | | | + + + + + + + + +### ServerMessage.HlsUploadCrashed +Notification sent when the upload of HLS recording to AWS S3 fails + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | + + + + + + + + +### ServerMessage.HlsUploaded +Notification sent when the HLS recording is successfully uploded to AWS S3 + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | + + + + + + + + +### ServerMessage.MetricsReport +Message containing WebRTC metrics from FJ + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| metrics | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerAdded +Notification sent when a peer is added + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerConnected +Notification sent when a peer connects + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerCrashed +Notification sent when a peer crashes + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| reason | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerDeleted +Notification sent when a peer is removed + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerDisconnected +Notification sent when a peer disconnects from FJ + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | + + + + + + + + +### ServerMessage.PeerMetadataUpdated +Notification sent when peer updates its metadata + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| metadata | [string](#string) | | | + + + + + + + + +### ServerMessage.RoomCrashed +Notification sent when a room crashes + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | + + + + + + + + +### ServerMessage.RoomCreated +Notification sent when a room is created + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | + + + + + + + + +### ServerMessage.RoomDeleted +Notification sent when a room is deleted + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | + + + + + + + + +### ServerMessage.SubscribeRequest +Request sent by peer to subsribe for certain message type + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| event_type | [ServerMessage.EventType](#fishjam-ServerMessage-EventType) | | | + + + + + + + + +### ServerMessage.SubscribeResponse +Response sent by FJ, confirming subscription for message type + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| event_type | [ServerMessage.EventType](#fishjam-ServerMessage-EventType) | | | + + + + + + + + +### ServerMessage.Track +Describes a media track + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [string](#string) | | | +| type | [ServerMessage.TrackType](#fishjam-ServerMessage-TrackType) | | | +| metadata | [string](#string) | | | + + + + + + + + +### ServerMessage.TrackAdded +Notification sent when peer or component adds new track + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| component_id | [string](#string) | | | +| track | [ServerMessage.Track](#fishjam-ServerMessage-Track) | | | + + + + + + + + +### ServerMessage.TrackMetadataUpdated +Notification sent when metadata of a multimedia track is updated + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| component_id | [string](#string) | | | +| track | [ServerMessage.Track](#fishjam-ServerMessage-Track) | | | + + + + + + + + +### ServerMessage.TrackRemoved +Notification sent when a track is removed + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| component_id | [string](#string) | | | +| track | [ServerMessage.Track](#fishjam-ServerMessage-Track) | | | + + + + + + + + + + +### ServerMessage.EventType +Defines message groups for which peer can subscribe + +| Name | Number | Description | +| ---- | ------ | ----------- | +| EVENT_TYPE_UNSPECIFIED | 0 | | +| EVENT_TYPE_SERVER_NOTIFICATION | 1 | | +| EVENT_TYPE_METRICS | 2 | | + + + + + +### ServerMessage.TrackType +Defines types of tracks being published by peers and component + +| Name | Number | Description | +| ---- | ------ | ----------- | +| TRACK_TYPE_UNSPECIFIED | 0 | | +| TRACK_TYPE_VIDEO | 1 | | +| TRACK_TYPE_AUDIO | 2 | | + + + + + + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | + From 2a9e7fdc453e2a46b48d36a0123a5ff3971fa426 Mon Sep 17 00:00:00 2001 From: Karol Konkol Date: Fri, 15 Nov 2024 12:06:24 +0100 Subject: [PATCH 2/2] Requested changes --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6573e12..b1dc56c 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ This repository contains protocol buffers definitions for [fishjam-cloud organization](https://github.com/fishjam-cloud) repositories. +For detailed protobuf definitions and usage, please refer to the [documentation](./doc/docs.md). + ## How to add this repo as a git submodule in your own repository Use the command below: