You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add support for simulcast
* Fix keyframe requests for non-simulcast tracks
* Rewrite details to casual divs
* Add simulcast form
* Fix div hidding
* Improve simulcast checkbox
* Rewrite simulcast checkbox so it's not inside a form
* Final final fix for the checkbox! - don't use phoenix's core component as it resets without a form
* Accept vp8 for simulcast. Send media only if tracks were negotiated
* Propagate info about available layers
* Add initial version of settings overlay
* Restart connection on tracks change
* Dynamically determinae number of available layers
* Fixes after merge
* Update docs
* Make simulcast requirement more restrictive
* Remove nerd stats
* Minor fixes - add rid to the on_packet callback, don't duplicate streams_info timer, only create player pc when there is at least one publisher track
* Fix recording
* Spawn recorder inside publisher
* Add recorder opts
@@ -138,14 +141,20 @@ defmodule LiveExWebRTC.Publisher do
138
141
pc: nil,
139
142
streaming?: false,
140
143
simulcast_supported?: nil,
144
+
# record checkbox status
141
145
record?: false,
146
+
# whether recorings are allowed or not
147
+
recordings?: true,
148
+
# recorder instance
149
+
recorder: nil,
150
+
recorder_opts: [],
142
151
audio_track: nil,
143
152
video_track: nil,
144
153
on_packet: nil,
145
154
on_connected: nil,
146
155
on_disconnected: nil,
156
+
on_recording_finished: nil,
147
157
pubsub: nil,
148
-
recorder: nil,
149
158
ice_servers: nil,
150
159
ice_ip_filter: nil,
151
160
ice_port_range: nil,
@@ -185,10 +194,12 @@ defmodule LiveExWebRTC.Publisher do
185
194
* `id` - publisher id. This is typically your user id (if there is users database).
186
195
It is used to identify live view and generated HTML elements.
187
196
* `pubsub` - a pubsub that publisher live view will use for broadcasting audio and video packets received from a browser. See module doc for more info.
188
-
* `recorder` - optional `ExWebRTC.Recorder` instance that publisher live view will use for recording the stream.
197
+
* `recordings?` - whether to allow for recordings or not. Defaults to true.
189
198
See module doc and `t:on_disconnected/0` for more info.
199
+
* `recorder_opts` - a list of options that will be passed to the recorder. In particular, they can contain S3 config where recordings will be uploaded. See `t:ExWebRTC.Recorder.option/0` for more.
190
200
* `on_connected` - callback called when the underlying peer connection changes its state to the `:connected`. See `t:on_connected/0`.
191
201
* `on_disconnected` - callback called when the underlying peer connection process terminates. See `t:on_disconnected/0`.
202
+
* `on_recording_finished` - callback called when the stream recording has finised. See `t:on_recording_finished/0`.
192
203
* `on_packet` - callback called for each audio and video RTP packet. Can be used to modify the packet before publishing it on a pubsub. See `t:on_packet/0`.
193
204
* `ice_servers` - a list of `t:ExWebRTC.PeerConnection.Configuration.ice_server/0`,
0 commit comments