|
| otc_publisher * | otc_publisher_new (const char *name, const struct otc_video_capturer_callbacks *capturer, const struct otc_publisher_callbacks *callbacks) |
| otc_publisher_settings * | otc_publisher_settings_new () |
| otc_status | otc_publisher_settings_delete (otc_publisher_settings *settings) |
| otc_status | otc_publisher_settings_set_name (otc_publisher_settings *settings, const char *name) |
| otc_status | otc_publisher_settings_set_video_capturer (otc_publisher_settings *settings, const struct otc_video_capturer_callbacks *capturer) |
| otc_status | otc_publisher_settings_set_audio_track (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_video_track (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_sender_stats_track (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_stereo (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_opus_dtx (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_auto_gain_control (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_noise_suppression (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_echo_cancellation (otc_publisher_settings *settings, otc_bool enabled) |
| otc_status | otc_publisher_settings_set_disable_audio_processing (otc_publisher_settings *settings, otc_bool disabled) |
| otc_status | otc_publisher_settings_set_default_camera_capture_resolution (otc_publisher_settings *settings, const enum otc_camera_capture_resolution camera_capture_resolution) |
| otc_status | otc_publisher_settings_set_scalable_screenshare (otc_publisher_settings *settings, const otc_bool enabled) |
| otc_status | otc_publisher_settings_set_allow_audio_capture_while_muted (otc_publisher_settings *settings, const otc_bool enabled) |
| otc_publisher * | otc_publisher_new_with_settings (const struct otc_publisher_callbacks *callbacks, otc_publisher_settings *settings) |
| | otc_statusotc_publisher_delete (otc_publisher *publisher) |
| otc_stream * | otc_publisher_get_stream (otc_publisher *publisher) |
| otc_status | otc_publisher_set_publish_video (otc_publisher *publisher, otc_bool publish_video) |
| otc_status | otc_publisher_set_publish_audio (otc_publisher *publisher, otc_bool publish_audio) |
| otc_status | otc_publisher_set_publish_captions (otc_publisher *publisher, otc_bool publish_captions) |
| otc_bool | otc_publisher_get_publish_video (const otc_publisher *publisher) |
| otc_bool | otc_publisher_get_publish_audio (const otc_publisher *publisher) |
| otc_bool | otc_publisher_get_publish_captions (const otc_publisher *publisher) |
| otc_status | otc_publisher_set_captions_input_language (otc_publisher *publisher, const char *language) |
| const char * | otc_publisher_get_captions_input_language (const otc_publisher *publisher) |
| otc_session * | otc_publisher_get_session (const otc_publisher *publisher) |
| otc_status | otc_publisher_set_max_audio_bitrate (otc_publisher *publisher, uint32_t bitrate) |
| | otc_statusotc_publisher_set_rtc_stats_report_cb (otc_publisher *publisher, const struct otc_publisher_rtc_stats_report_cb cb) |
| | otc_statusotc_publisher_get_rtc_stats_report (otc_publisher *publisher) |
| const char * | otc_publisher_get_publisher_id (const otc_publisher *publisher) |
| otc_status | otc_publisher_set_video_type (struct otc_publisher *publisher, enum otc_publisher_video_type video_type) |
| enum otc_publisher_video_type | otc_publisher_get_video_type (const struct otc_publisher *publisher) |
| void * | otc_publisher_get_user_data (const struct otc_publisher *publisher) |
| const char * | otc_publisher_get_name (const struct otc_publisher *publisher) |
| otc_status | otc_publisher_set_video_transformers (otc_publisher *publisher, otc_video_transformer **transformers, uint8_t size) |
| | Sets an array of video transformers to this publisher's video stream. If null resets transformers.
|
| otc_status | otc_publisher_set_audio_transformers (otc_publisher *publisher, otc_audio_transformer **transformers, uint8_t size) |
| | Sets an array of audio transformers to this publisher's audio stream. If null resets transformers.
|
| otc_status | otc_publisher_set_target_scalability_mode (otc_publisher *publisher, const char *scalability_mode) |
| | Sets the target scalability mode (SVC - Scalable Video Coding) for this publisher. The scalability mode controls the number of spatial (resolution) and temporal (frame rate) layers that WebRTC encodes. The mode is applied to the routed (publisher ↔ SFU) peer connection only, regardless of which leg is currently active.
|
| const char * | otc_publisher_get_target_scalability_mode (otc_publisher *publisher) |
| | Gets the target scalability mode that was explicitly set via otc_publisher_set_target_scalability_mode. Returns the last value passed to the setter, or NULL if the setter has never been called. This reflects the user's intent, not the mode actually applied (which may differ due to codec-dependent fallback).
|
| otc_status | otc_publisher_set_max_video_bitrate (otc_publisher *publisher, int bitrate_bps) |
| | Gets the maximum video bitrate set for this publisher's video stream.
|
| int | otc_publisher_get_max_video_bitrate (const otc_publisher *publisher) |
| | Gets the maximum video bitrate set for this publisher's video stream.
|
| otc_status | otc_publisher_set_video_bitrate_preset (otc_publisher *publisher, enum otc_video_bitrate_preset preset) |
| | Sets a video bitrate preset for this publisher's video stream.
|
| enum otc_video_bitrate_preset | otc_publisher_get_video_bitrate_preset (const otc_publisher *publisher) |
| | Gets the currently active video bitrate preset for this publisher's stream.
|
| otc_status | otc_publisher_set_degradation_preference (otc_publisher *publisher, enum otc_degradation_preference degradation_preference) |
| | Sets the preferred policy that the video engine will follow when adjusting frame rate and resolution to limited bandwidth and CPU conditions. See otc_degradation_preference for a description of the possible values.
|
| enum otc_degradation_preference | otc_publisher_get_degradation_preference (const otc_publisher *publisher) |
| | Gets the preferred policy that the video engine will follow when adjusting frame rate and resolution to limited bandwidth and CPU conditions. See otc_degradation_preference for a description of the possible values.
|
| otc_status | otc_publisher_settings_set_subscriber_audio_fallback_enabled (otc_publisher_settings *settings, const otc_bool enabled) |
| otc_status | otc_publisher_settings_set_publisher_audio_fallback_enabled (otc_publisher_settings *settings, const otc_bool enabled) |
| otc_status | otc_publisher_settings_set_preferred_video_codecs (otc_publisher_settings *settings, const otc_video_codec_type *codecs, size_t num_codecs) |
| | Sets the preferred video codecs to use for this publisher's stream.
|
| otc_status | otc_publisher_settings_set_preferred_video_codecs_automatic (otc_publisher_settings *settings) |
| | Enables automatic codec prioritization for this publisher's stream.
|
OpenTok Publisher.
This file includes the type definition for an OpenTok publisher along with several function declarations.
Sets the target scalability mode (SVC - Scalable Video Coding) for this publisher. The scalability mode controls the number of spatial (resolution) and temporal (frame rate) layers that WebRTC encodes. The mode is applied to the routed (publisher ↔ SFU) peer connection only, regardless of which leg is currently active.
This method may be called at any time — it does not require the routed-leg negotiation to have completed. The mode will be applied once the routed leg is established.
If a non-SVC codec (VP8, H.264) is negotiated on the routed leg, the closest applicable mode is used: spatial layers are forced to 1, preserving the temporal dimension (e.g. L2T2 → L1T2 when VP8 is negotiated).
This is a beta feature.
Errors:
- Returns OTC_ERROR if the requested mode is not a valid scalability mode (i.e. not one of L1T1, L1T2, L1T3, L2T1, L2T2, L2T3, L3T1, L3T2, L3T3).
- Parameters
-
| publisher | The publisher instance. |
| scalability_mode | The target scalability mode. |
- Returns
- OTC_SUCCESS if the operation succeeds; an error code otherwise.
Sets the preferred video codecs to use for this publisher's stream.
This function allows specifying an explicit, ordered list of video codecs to prioritize during negotiation. The codecs provided will be placed first in the SDP offer (in the given order), but other supported codecs may still be included with lower priority.
This does not restrict negotiation to only these codecs.
Passing an empty list will result in an OT_INVALID_PARAMETER error. If this function is not called, the SDK falls back to the default behavior defined in the Dashboard project settings.
- Parameters
-
| [in,out] | settings | The publisher settings instance to modify. |
| [in] | codecs | An array of video codecs to prioritize (must be non-empty). |
| [in] | num_codecs | The number of elements in the codecs array. |
- Returns
- OTC_SUCCESS if the operation succeeds; OT_INVALID_PARAMETER if the list is empty or invalid.
Enables or disables the publisher audio-fallback feature.
With the publisher audio-fallback feature enabled, when the Publisher determines that a stream's quality has degraded significantly, it disables the video stream in order to preserve audio quality and continues to send the audio stream. The capturer corresponding to this publisher will not be disabled, and the captured frames will still be seen on the publisher side.
The default setting is OTC_FALSE (the audio-fallback feature is disabled). When using the screen video type in a session that uses the OpenTok Media Server, the publisher audio-fallback setting is set to OTC_FALSE by default, so that the video does not drop out in subscribers.
- Parameters
-
| settings | The publisher settings to be affected. |
| enabled | Whether we want to enable the audio-fallback feature or not. |
- Returns
- Return value indicating either error or success.
Enables or disables the subscriber audio-fallback feature (for subscribers to the published stream)
The subscriber audio-fallback feature is available in sessions that use the Vonage Video Media Router. With the audio-fallback feature enabled (the default), when the Vonage Video Media Router determines that a stream's quality has degraded significantly for a specific subscriber to the stream, it disables the video in that subscriber in order to preserve audio quality.
The default setting is OTC_TRUE (the audio-fallback feature is enabled). When using the screen video type, the subscriber audio-fallback setting is set to OTC_FALSE by default, so that the video does not drop out in subscribers.
- Parameters
-
| settings | The publisher settings to be affected. |
| enabled | Whether we want to enable the audio-fallback feature or not. |
- Returns
- Return value indicating either error or success.