Skip to content

Commit

Permalink
Migrate class MediaCodecBridge to jni_generator
Browse files Browse the repository at this point in the history
Migrate all inner classes in MediaCodecBridge to jni_generator

b/390481510
  • Loading branch information
haozheng-cobalt committed Feb 10, 2025
1 parent b21919d commit e3e72b5
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -156,27 +156,27 @@ public static class DequeueInputResult {
private int mIndex;

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueInputResult")
private DequeueInputResult() {
mStatus = MediaCodecStatus.ERROR;
mIndex = -1;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueInputResult")
private DequeueInputResult(int status, int index) {
mStatus = status;
mIndex = index;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueInputResult")
private int status() {
return mStatus;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueInputResult")
private int index() {
return mIndex;
}
Expand All @@ -193,7 +193,7 @@ private static class DequeueOutputResult {
private int mNumBytes;

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private DequeueOutputResult() {
mStatus = MediaCodecStatus.ERROR;
mIndex = -1;
Expand All @@ -204,7 +204,7 @@ private DequeueOutputResult() {
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private DequeueOutputResult(
int status,
int index,
Expand All @@ -221,37 +221,37 @@ private DequeueOutputResult(
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private int status() {
return mStatus;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private int index() {
return mIndex;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private int flags() {
return mFlags;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private int offset() {
return mOffset;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private long presentationTimeMicroseconds() {
return mPresentationTimeMicroseconds;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("DequeueOutputResult")
private int numBytes() {
return mNumBytes;
}
Expand Down Expand Up @@ -357,7 +357,7 @@ private static class ColorInfo {
public ByteBuffer hdrStaticInfo;

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("ColorInfo")
ColorInfo(
int colorRange,
int colorStandard,
Expand Down Expand Up @@ -422,20 +422,20 @@ private static class CreateMediaCodecBridgeResult {
private String mErrorMessage;

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("CreateMediaCodecBridgeResult")
private CreateMediaCodecBridgeResult() {
mMediaCodecBridge = null;
mErrorMessage = "";
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("CreateMediaCodecBridgeResult")
private MediaCodecBridge mediaCodecBridge() {
return mMediaCodecBridge;
}

@SuppressWarnings("unused")
@UsedByNative
@CalledByNative("CreateMediaCodecBridgeResult")
private String errorMessage() {
return mErrorMessage;
}
Expand Down
36 changes: 19 additions & 17 deletions starboard/android/shared/media_codec_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -330,27 +330,29 @@ std::unique_ptr<MediaCodecBridge> MediaCodecBridge::CreateVideoMediaCodecBridge(
color_transfer != COLOR_VALUE_UNKNOWN &&
color_range != COLOR_VALUE_UNKNOWN) {
const auto& mastering_metadata = color_metadata->mastering_metadata;
j_color_info.Reset(env->NewObjectOrAbort(
"dev/cobalt/media/MediaCodecBridge$ColorInfo", "(IIIFFFFFFFFFFIIZ)V",
color_range, color_standard, color_transfer,
mastering_metadata.primary_r_chromaticity_x,
mastering_metadata.primary_r_chromaticity_y,
mastering_metadata.primary_g_chromaticity_x,
mastering_metadata.primary_g_chromaticity_y,
mastering_metadata.primary_b_chromaticity_x,
mastering_metadata.primary_b_chromaticity_y,
mastering_metadata.white_point_chromaticity_x,
mastering_metadata.white_point_chromaticity_y,
mastering_metadata.luminance_max, mastering_metadata.luminance_min,
color_metadata->max_cll, color_metadata->max_fall,
force_big_endian_hdr_metadata));

JNIEnv* env_jni = base::android::AttachCurrentThread();
j_color_info.Reset(
Java_ColorInfo_Constructor(
env_jni, color_range, color_standard, color_transfer,
mastering_metadata.primary_r_chromaticity_x,
mastering_metadata.primary_r_chromaticity_y,
mastering_metadata.primary_g_chromaticity_x,
mastering_metadata.primary_g_chromaticity_y,
mastering_metadata.primary_b_chromaticity_x,
mastering_metadata.primary_b_chromaticity_y,
mastering_metadata.white_point_chromaticity_x,
mastering_metadata.white_point_chromaticity_y,
mastering_metadata.luminance_max,
mastering_metadata.luminance_min, color_metadata->max_cll,
color_metadata->max_fall, force_big_endian_hdr_metadata)
.obj());
}
}

JNIEnv* env_jni = base::android::AttachCurrentThread();
ScopedLocalJavaRef<jobject> j_create_media_codec_bridge_result(
env->NewObjectOrAbort(
"dev/cobalt/media/MediaCodecBridge$CreateMediaCodecBridgeResult",
"()V"));
Java_CreateMediaCodecBridgeResult_Constructor(env_jni).obj());

std::unique_ptr<MediaCodecBridge> native_media_codec_bridge(
new MediaCodecBridge(handler));
Expand Down

0 comments on commit e3e72b5

Please sign in to comment.