From 4f691a7c02dc042f2d20ff105067bb3181a8534d Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Thu, 13 Jun 2024 04:46:46 -0700 Subject: [PATCH] Add a checkbox to use Media3 muxer in Transformer demo app PiperOrigin-RevId: 642941439 --- .../media3/demo/transformer/ConfigurationActivity.java | 4 ++++ .../media3/demo/transformer/TransformerActivity.java | 3 +++ .../src/main/res/layout/configuration_activity.xml | 9 +++++++++ demos/transformer/src/main/res/values/strings.xml | 1 + 4 files changed, 17 insertions(+) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 470ec5f18b..4d41a588a5 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -77,6 +77,7 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String ENABLE_ANALYZER_MODE = "enable_analyzer_mode"; public static final String ENABLE_DEBUG_PREVIEW = "enable_debug_preview"; public static final String ABORT_SLOW_EXPORT = "abort_slow_export"; + public static final String USE_MEDIA3_MUXER = "use_media3_muxer"; public static final String PRODUCE_FRAGMENTED_MP4 = "produce_fragmented_mp4"; public static final String HDR_MODE = "hdr_mode"; public static final String AUDIO_EFFECTS_SELECTIONS = "audio_effects_selections"; @@ -172,6 +173,7 @@ public final class ConfigurationActivity extends AppCompatActivity { private CheckBox enableDebugPreviewCheckBox; private CheckBox enableDebugTracingCheckBox; private CheckBox abortSlowExportCheckBox; + private CheckBox useMedia3Muxer; private CheckBox produceFragmentedMp4CheckBox; private Spinner hdrModeSpinner; private Button selectAudioEffectsButton; @@ -298,6 +300,7 @@ public final class ConfigurationActivity extends AppCompatActivity { (buttonView, isChecked) -> DebugTraceUtil.enableTracing = isChecked); abortSlowExportCheckBox = findViewById(R.id.abort_slow_export_checkbox); + useMedia3Muxer = findViewById(R.id.use_media3_muxer_checkbox); produceFragmentedMp4CheckBox = findViewById(R.id.produce_fragmented_mp4_checkbox); ArrayAdapter hdrModeAdapter = @@ -389,6 +392,7 @@ public final class ConfigurationActivity extends AppCompatActivity { bundle.putBoolean(ENABLE_ANALYZER_MODE, enableAnalyzerModeCheckBox.isChecked()); bundle.putBoolean(ENABLE_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked()); bundle.putBoolean(ABORT_SLOW_EXPORT, abortSlowExportCheckBox.isChecked()); + bundle.putBoolean(USE_MEDIA3_MUXER, useMedia3Muxer.isChecked()); bundle.putBoolean(PRODUCE_FRAGMENTED_MP4, produceFragmentedMp4CheckBox.isChecked()); String selectedHdrMode = String.valueOf(hdrModeSpinner.getSelectedItem()); bundle.putInt(HDR_MODE, HDR_MODE_DESCRIPTIONS.get(selectedHdrMode)); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index e27fa22351..963f08c892 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -318,6 +318,9 @@ public final class TransformerActivity extends AppCompatActivity { } Muxer.Factory muxerFactory = new DefaultMuxer.Factory(); + if (bundle.getBoolean(ConfigurationActivity.USE_MEDIA3_MUXER)) { + muxerFactory = new InAppMuxer.Factory.Builder().build(); + } if (bundle.getBoolean(ConfigurationActivity.PRODUCE_FRAGMENTED_MP4)) { muxerFactory = new InAppMuxer.Factory.Builder().setOutputFragmentedMp4(true).build(); } diff --git a/demos/transformer/src/main/res/layout/configuration_activity.xml b/demos/transformer/src/main/res/layout/configuration_activity.xml index e69403202b..bc2997b184 100644 --- a/demos/transformer/src/main/res/layout/configuration_activity.xml +++ b/demos/transformer/src/main/res/layout/configuration_activity.xml @@ -235,6 +235,15 @@ android:id="@+id/abort_slow_export_checkbox" android:layout_gravity="end"/> + + + + Enable debug preview Enable debug tracing Abort slow export + Use Media3 muxer Produce fragmented MP4 Trim HDR mode