Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sdk/android/api/org/webrtc/HardwareVideoEncoderWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@ public String getImplementationName() {
}

@Override
public long createNativeVideoEncoder() {
return internalEncoder.createNativeVideoEncoder();
public long createNative(long webrtcEnvRef) {
return internalEncoder.createNative(webrtcEnvRef);
}

@Override
Expand Down
6 changes: 3 additions & 3 deletions sdk/android/api/org/webrtc/SimulcastVideoEncoder.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

public class SimulcastVideoEncoder extends WrappedNativeVideoEncoder {

static native long nativeCreateEncoder(VideoEncoderFactory primary, VideoEncoderFactory fallback, VideoCodecInfo info);
static native long nativeCreateEncoder(long webrtcEnvRef, VideoEncoderFactory primary, VideoEncoderFactory fallback, VideoCodecInfo info);

VideoEncoderFactory primary;
VideoEncoderFactory fallback;
Expand All @@ -15,8 +15,8 @@ public SimulcastVideoEncoder(VideoEncoderFactory primary, VideoEncoderFactory fa
}

@Override
public long createNativeVideoEncoder() {
return nativeCreateEncoder(primary, fallback, info);
public long createNative(long webrtcEnvRef) {
return nativeCreateEncoder(webrtcEnvRef, primary, fallback, info);
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion sdk/android/src/jni/simulcast_video_encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,15 @@ extern "C" {
#endif

// (VideoEncoderFactory primary, VideoEncoderFactory fallback, VideoCodecInfo info)
JNIEXPORT jlong JNICALL Java_org_webrtc_SimulcastVideoEncoder_nativeCreateEncoder(JNIEnv *env, jclass klass, jobject primary, jobject fallback, jobject info) {
JNIEXPORT jlong JNICALL Java_org_webrtc_SimulcastVideoEncoder_nativeCreateEncoder(JNIEnv *env, jclass klass, jlong webrtcEnvRef, jobject primary, jobject fallback, jobject info) {
RTC_LOG(LS_INFO) << "Create simulcast video encoder";
JavaParamRef<jobject> info_ref(info);
SdpVideoFormat format = VideoCodecInfoToSdpVideoFormat(env, info_ref);

// TODO: 影響は軽微だが、リークする可能性があるので将来的に修正したい
// https://github.com/shiguredo-webrtc-build/webrtc-build/pull/16#pullrequestreview-600675795
return NativeToJavaPointer(std::make_unique<SimulcastEncoderAdapter>(
*reinterpret_cast<const webrtc::Environment*>(webrtcEnvRef),
JavaToNativeVideoEncoderFactory(env, primary).release(),
fallback != nullptr ? JavaToNativeVideoEncoderFactory(env, fallback).release() : nullptr,
format).release());
Expand Down
2 changes: 1 addition & 1 deletion sdk/android/src/jni/simulcast_video_encoder.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion sdk/android/src/jni/simulcast_video_encoder_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include "api/video_codecs/video_codec.h"
#include "api/video_codecs/sdp_video_format.h"
#include "api/video_codecs/video_codec.h"
#include "api/rtp_parameters.h"

using namespace webrtc;
using namespace webrtc::jni;
Expand All @@ -30,7 +31,7 @@ JNIEXPORT jobject JNICALL Java_org_webrtc_SimulcastVideoEncoderFactory_nativeVP9
JNIEXPORT jobject JNICALL Java_org_webrtc_SimulcastVideoEncoderFactory_nativeAV1Codec
(JNIEnv *env, jclass klass) {
SdpVideoFormat format = SdpVideoFormat(
cricket::kAv1CodecName, SdpVideoFormat::Parameters(),
cricket::kAv1CodecName, CodecParameterMap(),
LibaomAv1EncoderSupportedScalabilityModes());
return SdpVideoFormatToVideoCodecInfo(env, format).Release();
}
Expand Down