0

I am using version 1.0.28513 and am not sure how/where to specify VP8 as my video codec for hardware acceleration.

Sofia Clover
  • 669
  • 1
  • 7
  • 18

1 Answers1

0

Giving a look to this wonderful example in Kotlin:

private val peerConnectionFactory: PeerConnectionFactory by lazy {
    //Initialize PeerConnectionFactory globals.
    val initializationOptions = PeerConnectionFactory.InitializationOptions.builder(this)
            .setEnableVideoHwAcceleration(true)
            .createInitializationOptions()
    PeerConnectionFactory.initialize(initializationOptions)

    //Create a new PeerConnectionFactory instance - using Hardware encoder and decoder.
    val options = PeerConnectionFactory.Options()
    val defaultVideoEncoderFactory = DefaultVideoEncoderFactory(
            rootEglBase.eglBaseContext, /* enableIntelVp8Encoder */true, /* enableH264HighProfile */true)
    val defaultVideoDecoderFactory = DefaultVideoDecoderFactory(rootEglBase.eglBaseContext)
    PeerConnectionFactory(options, defaultVideoEncoderFactory, defaultVideoDecoderFactory)
}

and to the corresponding Java class:

/** Create encoder factory using default hardware encoder factory. */
public DefaultVideoEncoderFactory(
    EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile) {
  this.hardwareVideoEncoderFactory =
        new HardwareVideoEncoderFactory(eglContext, enableIntelVp8Encoder, enableH264HighProfile);
}

/** Create encoder factory using explicit hardware encoder factory. */
DefaultVideoEncoderFactory(VideoEncoderFactory hardwareVideoEncoderFactory) {
    this.hardwareVideoEncoderFactory = hardwareVideoEncoderFactory;
}

should help you figure out where to act

Dharman
  • 30,962
  • 25
  • 85
  • 135
Antonino
  • 3,178
  • 3
  • 24
  • 39