Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 38 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
if: ${{ !cancelled() && steps.compile.outcome == 'success' }}
run: mix format --check-formatted

check-protobufs-update:
check-fishjam-protos-update:
runs-on: ubuntu-latest
name: Fishjam protos update
strategy:
Expand All @@ -62,7 +62,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3

- name: Install protobuf compiler (protoc) if needed
- name: Install protobuf compiler (protoc)
run: |
sudo apt update
sudo apt install -y protobuf-compiler
Expand All @@ -75,10 +75,45 @@ jobs:
run: bash compile_proto.sh
working-directory: fishjam_protos

- name: Check for changes in protobuf files
- name: Check for changes in fishjam_protos files
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "Generated protobuf files are not up to date. Please regenerate them and commit the changes."
git diff
exit 1
fi

- name: Generate docs
run: bash compile_proto.sh
working-directory: fishjam_protos

check-protobufs-docs:
runs-on: ubuntu-latest
name: Protobuf docs update
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Go
uses: actions/setup-go@v5

- name: Install protobuf compiler (protoc)
run: |
sudo apt update
sudo apt install -y protobuf-compiler

- name: Install protobuf docs generator
run: |
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest

- name: Generate docs
run: |
find fishjam/ -name "*.proto" | sort | xargs protoc --doc_out=./doc --doc_opt=markdown,docs.md

- name: Check for changes in docs files
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "Generated docs files are not up to date. Please regenerate them and commit the changes."
git diff
exit 1
fi
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ 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
find fishjam/ -name "*.proto" | sort | xargs protoc --doc_out=./doc --doc_opt=markdown,docs.md
```

## Lint and formatting
Expand Down
18 changes: 18 additions & 0 deletions doc/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- [MediaEvent.SdpOffer.MidToTrackIdEntry](#fishjam-media_events-peer-MediaEvent-SdpOffer-MidToTrackIdEntry)
- [MediaEvent.SdpOffer.TrackIdToBitratesEntry](#fishjam-media_events-peer-MediaEvent-SdpOffer-TrackIdToBitratesEntry)
- [MediaEvent.SdpOffer.TrackIdToMetadataJsonEntry](#fishjam-media_events-peer-MediaEvent-SdpOffer-TrackIdToMetadataJsonEntry)
- [MediaEvent.SetTargetTrackVariant](#fishjam-media_events-peer-MediaEvent-SetTargetTrackVariant)
- [MediaEvent.TrackBitrates](#fishjam-media_events-peer-MediaEvent-TrackBitrates)
- [MediaEvent.UpdateEndpointMetadata](#fishjam-media_events-peer-MediaEvent-UpdateEndpointMetadata)
- [MediaEvent.UpdateTrackMetadata](#fishjam-media_events-peer-MediaEvent-UpdateTrackMetadata)
Expand Down Expand Up @@ -118,6 +119,7 @@ SCHEMAS
| track_bitrates | [MediaEvent.TrackBitrates](#fishjam-media_events-peer-MediaEvent-TrackBitrates) | | |
| enable_track_variant | [MediaEvent.EnableTrackVariant](#fishjam-media_events-peer-MediaEvent-EnableTrackVariant) | | |
| disable_track_variant | [MediaEvent.DisableTrackVariant](#fishjam-media_events-peer-MediaEvent-DisableTrackVariant) | | |
| set_target_track_variant | [MediaEvent.SetTargetTrackVariant](#fishjam-media_events-peer-MediaEvent-SetTargetTrackVariant) | | |



Expand Down Expand Up @@ -259,6 +261,22 @@ The "mid" is an identifier used to associate an RTP packet with an MLine



<a name="fishjam-media_events-peer-MediaEvent-SetTargetTrackVariant"></a>

### MediaEvent.SetTargetTrackVariant



| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| track_id | [string](#string) | | |
| variant | [fishjam.media_events.Variant](#fishjam-media_events-Variant) | | |






<a name="fishjam-media_events-peer-MediaEvent-TrackBitrates"></a>

### MediaEvent.TrackBitrates
Expand Down
6 changes: 6 additions & 0 deletions fishjam/media_events/peer/peer.proto
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@ message MediaEvent {
media_events.Variant variant = 2;
}

message SetTargetTrackVariant {
string track_id = 1;
media_events.Variant variant = 2;
}

oneof content {
Connect connect = 1;
Disconnect disconnect = 2;
Expand All @@ -76,5 +81,6 @@ message MediaEvent {
TrackBitrates track_bitrates = 8;
EnableTrackVariant enable_track_variant = 9;
DisableTrackVariant disable_track_variant = 10;
SetTargetTrackVariant set_target_track_variant = 11;
}
}
14 changes: 14 additions & 0 deletions fishjam_protos/lib/fishjam/media_events/peer/peer.pb.ex
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,15 @@ defmodule Fishjam.MediaEvents.Peer.MediaEvent.EnableTrackVariant do
field :variant, 2, type: Fishjam.MediaEvents.Variant, enum: true
end

defmodule Fishjam.MediaEvents.Peer.MediaEvent.SetTargetTrackVariant do
@moduledoc false

use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.13.0"

field :track_id, 1, type: :string, json_name: "trackId"
field :variant, 2, type: Fishjam.MediaEvents.Variant, enum: true
end

defmodule Fishjam.MediaEvents.Peer.MediaEvent do
@moduledoc false

Expand Down Expand Up @@ -174,4 +183,9 @@ defmodule Fishjam.MediaEvents.Peer.MediaEvent do
type: Fishjam.MediaEvents.Peer.MediaEvent.DisableTrackVariant,
json_name: "disableTrackVariant",
oneof: 0

field :set_target_track_variant, 11,
type: Fishjam.MediaEvents.Peer.MediaEvent.SetTargetTrackVariant,
json_name: "setTargetTrackVariant",
oneof: 0
end