diff --git a/lib/livekit/egress_service_client.rb b/lib/livekit/egress_service_client.rb index 2b6072f..709772c 100644 --- a/lib/livekit/egress_service_client.rb +++ b/lib/livekit/egress_service_client.rb @@ -15,7 +15,7 @@ def initialize(base_url, api_key: nil, api_secret: nil) def start_room_composite_egress( room_name, - # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each + # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput or array containing up to one of each output, # EncodingOptionsPreset, only one of preset or advanced could be set preset: nil, @@ -50,7 +50,7 @@ def start_room_composite_egress( def start_participant_egress( room_name, identity, - # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each + # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, or array containing up to one of each output, # true to record the participant's screenshare and screenshare_audio track screen_share: false, @@ -76,7 +76,7 @@ def start_participant_egress( def start_track_composite_egress( room_name, - # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each + # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, or array containing up to one of each output, # TrackID of an audio track audio_track_id: nil, @@ -126,7 +126,7 @@ def start_track_egress( def start_web_egress( url, - # EncodedFileOutput, SegmentedFileOutput, StreamOutput, or array containing up to one of each + # EncodedFileOutput, SegmentedFileOutput, StreamOutput, ImageOutput, or array containing up to one of each output, # EncodingOptionsPreset, only one of preset or advanced could be set preset: nil, @@ -222,6 +222,9 @@ def set_output(request, output) elsif out.is_a? Livekit::Proto::StreamOutput raise "cannot add multiple stream outputs" if request.stream_outputs.any? request.stream_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::StreamOutput, [out]) + elsif out.is_a? LiveKit::Proto::ImageOutput + raise "cannot add multiple image outputs" if request.image_outputs.any? + request.image_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::ImageOutput, [out]) end end elsif output.is_a? LiveKit::Proto::EncodedFileOutput @@ -233,6 +236,8 @@ def set_output(request, output) elsif output.is_a? LiveKit::Proto::StreamOutput request.stream = output request.stream_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::StreamOutput, [output]) + elsif output.is_a? LiveKit::Proto::ImageOutput + request.image_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::ImageOutput, [output]) end end end diff --git a/protocol b/protocol index a187ed4..6e689b5 160000 --- a/protocol +++ b/protocol @@ -1 +1 @@ -Subproject commit a187ed4f546b4f6881313ec4813268d53cb070f8 +Subproject commit 6e689b5c356944e9bc60e84d60c56c2f68415fd1