VideoEncoderFallback

tee3.webrtc

## 类 VideoEncoderFallback

- java.lang.Object
- - tee3.webrtc.VideoEncoderFallback

- 所有已实现的接口:
    VideoEncoder

      public class VideoEncoderFallback
      extends java.lang.Object

  A combined video encoder that falls back on a secondary encoder if the primary encoder fails.

- - ### 嵌套类概要

    - ### 从接口继承的嵌套类/接口 tee3.webrtc.VideoEncoder

      `VideoEncoder.BitrateAllocation, VideoEncoder.Callback, VideoEncoder.CodecSpecificInfo, VideoEncoder.CodecSpecificInfoH264, VideoEncoder.CodecSpecificInfoVP8, VideoEncoder.CodecSpecificInfoVP9, VideoEncoder.EncodeInfo, VideoEncoder.ScalingSettings, VideoEncoder.Settings`

  - ### 构造器概要

    构造器
    构造器和说明
    `VideoEncoderFallback(VideoEncoder fallback, VideoEncoder primary)`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `VideoCodecStatus` | `encode(VideoFrame frame, VideoEncoder.EncodeInfo info)` Requests the encoder to encode a frame.
    `java.lang.String` | `getImplementationName()` Should return a descriptive name for the implementation.
    `VideoEncoder.ScalingSettings` | `getScalingSettings()` Any encoder that wants to use WebRTC provided quality scaler must implement this method.
    `VideoCodecStatus` | `initEncode(VideoEncoder.Settings settings, VideoEncoder.Callback encodeCallback)` Initializes the encoding process.
    `VideoCodecStatus` | `release()` Releases the encoder.
    `VideoCodecStatus` | `setChannelParameters(short packetLoss, long roundTripTimeMs)` Informs the encoder of the packet loss and the round-trip time of the network.
    `VideoCodecStatus` | `setRateAllocation(VideoEncoder.BitrateAllocation allocation, int framerate)` Sets the bitrate allocation and the target framerate for the encoder.

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### VideoEncoderFallback

          public VideoEncoderFallback(VideoEncoder fallback,
                                      VideoEncoder primary)

  - ### 方法详细资料

    - #### initEncode

          public VideoCodecStatus initEncode(VideoEncoder.Settings settings,
                                             VideoEncoder.Callback encodeCallback)

      从接口复制的说明: `VideoEncoder`
      Initializes the encoding process. Call before any calls to encode.
      指定者:
        `initEncode` 在接口中 `VideoEncoder`

    - #### release

          public VideoCodecStatus release()

      从接口复制的说明: `VideoEncoder`
      Releases the encoder. No more calls to encode will be made after this call.
      指定者:
        `release` 在接口中 `VideoEncoder`

    - #### encode

          public VideoCodecStatus encode(VideoFrame frame,
                                         VideoEncoder.EncodeInfo info)

      从接口复制的说明: `VideoEncoder`
      Requests the encoder to encode a frame.
      指定者:
        `encode` 在接口中 `VideoEncoder`

    - #### setChannelParameters

          public VideoCodecStatus setChannelParameters(short packetLoss,
                                                       long roundTripTimeMs)

      从接口复制的说明: `VideoEncoder`
      Informs the encoder of the packet loss and the round-trip time of the network.
      指定者:
        `setChannelParameters` 在接口中 `VideoEncoder`
      参数:
        `packetLoss` - How many packets are lost on average per 255 packets.
        `roundTripTimeMs` - Round-trip time of the network in milliseconds.

    - #### setRateAllocation

          public VideoCodecStatus setRateAllocation(VideoEncoder.BitrateAllocation allocation,
                                                    int framerate)

      从接口复制的说明: `VideoEncoder`
      Sets the bitrate allocation and the target framerate for the encoder.
      指定者:
        `setRateAllocation` 在接口中 `VideoEncoder`

    - #### getScalingSettings

          public VideoEncoder.ScalingSettings getScalingSettings()

      从接口复制的说明: `VideoEncoder`
      Any encoder that wants to use WebRTC provided quality scaler must implement this method.
      指定者:
        `getScalingSettings` 在接口中 `VideoEncoder`

    - #### getImplementationName

          public java.lang.String getImplementationName()

      从接口复制的说明: `VideoEncoder`
      Should return a descriptive name for the implementation. Gets called once and cached. May be called from arbitrary thread.
      指定者:
        `getImplementationName` 在接口中 `VideoEncoder`