Skip to content

Commit b01703b

Browse files
committed
add render sync log config
1 parent 2337fb3 commit b01703b

5 files changed

Lines changed: 32 additions & 0 deletions

File tree

‎android/java/io/github/yoofa/AveConfig.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,17 @@ public static void setDemuxerLogsEnabled(boolean enabled) {
2323
AveConfigJni.get().setDemuxerLogsEnabled(enabled);
2424
}
2525

26+
/** Enables per-frame A/V sync render decisions for playback diagnosis. */
27+
public static void setRenderSyncLogsEnabled(boolean enabled) {
28+
AveConfigJni.get().setRenderSyncLogsEnabled(enabled);
29+
}
30+
2631
@NativeMethods
2732
interface Natives {
2833
void setCodecDebugEnabled(@JniType("bool") boolean enabled);
2934

3035
void setDemuxerLogsEnabled(@JniType("bool") boolean enabled);
36+
37+
void setRenderSyncLogsEnabled(@JniType("bool") boolean enabled);
3138
}
3239
}

‎android/jni/ave_config_jni.cc‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,10 @@ static void JNI_AveConfig_SetDemuxerLogsEnabled(JNIEnv* /*env*/, bool enabled) {
2121
base::AveConfig::GetInstance().SetDemuxerLogsEnabled(enabled);
2222
}
2323

24+
static void JNI_AveConfig_SetRenderSyncLogsEnabled(JNIEnv* /*env*/,
25+
bool enabled) {
26+
base::AveConfig::GetInstance().SetRenderSyncLogsEnabled(enabled);
27+
}
28+
2429
} // namespace jni
2530
} // namespace ave

‎ave_config.cc‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,13 @@ bool AveConfig::demuxer_logs_enabled() const {
3131
return demuxer_logs_enabled_.load(std::memory_order_relaxed);
3232
}
3333

34+
void AveConfig::SetRenderSyncLogsEnabled(bool enabled) {
35+
render_sync_logs_enabled_.store(enabled, std::memory_order_relaxed);
36+
}
37+
38+
bool AveConfig::render_sync_logs_enabled() const {
39+
return render_sync_logs_enabled_.load(std::memory_order_relaxed);
40+
}
41+
3442
} // namespace base
3543
} // namespace ave

‎ave_config.h‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,16 @@ class AveConfig final {
2828
void SetDemuxerLogsEnabled(bool enabled);
2929
bool demuxer_logs_enabled() const;
3030

31+
// Enables per-frame A/V sync decisions for renderer diagnostics.
32+
void SetRenderSyncLogsEnabled(bool enabled);
33+
bool render_sync_logs_enabled() const;
34+
3135
private:
3236
AveConfig() = default;
3337

3438
std::atomic_bool codec_debug_enabled_ = false;
3539
std::atomic_bool demuxer_logs_enabled_ = false;
40+
std::atomic_bool render_sync_logs_enabled_ = false;
3641

3742
AVE_DISALLOW_COPY_AND_ASSIGN(AveConfig);
3843
};

‎ave_config_test.cc‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@ int main(int /*argc*/, char const* /*argv*/[]) {
2525

2626
config.SetDemuxerLogsEnabled(false);
2727
assert(!config.demuxer_logs_enabled());
28+
29+
assert(!config.render_sync_logs_enabled());
30+
config.SetRenderSyncLogsEnabled(true);
31+
assert(config.render_sync_logs_enabled());
32+
33+
config.SetRenderSyncLogsEnabled(false);
34+
assert(!config.render_sync_logs_enabled());
2835
return 0;
2936
}

0 commit comments

Comments
 (0)