mirror of
https://github.com/samsonjs/media.git
synced 2026-03-31 10:25:48 +00:00
Remove component names from event strings.
PiperOrigin-RevId: 633212723
This commit is contained in:
parent
d52a32aadc
commit
04ab71a1d4
11 changed files with 112 additions and 147 deletions
|
|
@ -20,8 +20,8 @@ import static androidx.media3.common.util.Assertions.checkNotNull;
|
|||
import static androidx.media3.common.util.Assertions.checkState;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_BITMAP_TEXTURE_MANAGER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_QUEUE_BITMAP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_QUEUE_BITMAP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SIGNAL_EOS;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import androidx.media3.common.C;
|
||||
|
|
@ -113,9 +113,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
if (pendingBitmaps.isEmpty()) {
|
||||
checkNotNull(gainmapShaderProgram).signalEndOfCurrentInputStream();
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER,
|
||||
EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
C.TIME_END_OF_SOURCE);
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
} else {
|
||||
currentInputStreamEnded = true;
|
||||
}
|
||||
|
|
@ -163,7 +161,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
glObjectsProvider, checkNotNull(currentSdrGlTextureInfo), currentPresentationTimeUs);
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VFP,
|
||||
EVENT_VFP_QUEUE_BITMAP,
|
||||
EVENT_QUEUE_BITMAP,
|
||||
currentPresentationTimeUs,
|
||||
/* extraFormat= */ "%dx%d",
|
||||
/* extraArgs...= */ currentFrameInfo.width,
|
||||
|
|
@ -177,9 +175,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
// Only signal end of stream after all pending bitmaps are processed.
|
||||
checkNotNull(gainmapShaderProgram).signalEndOfCurrentInputStream();
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER,
|
||||
EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
C.TIME_END_OF_SOURCE);
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
currentInputStreamEnded = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,64 +59,50 @@ public final class DebugTraceUtil {
|
|||
@Documented
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@StringDef({
|
||||
EVENT_VIDEO_INPUT_FORMAT,
|
||||
EVENT_DECODER_DECODED_FRAME,
|
||||
EVENT_VFP_REGISTER_NEW_INPUT_STREAM,
|
||||
EVENT_VFP_SURFACE_TEXTURE_INPUT,
|
||||
EVENT_VFP_QUEUE_FRAME,
|
||||
EVENT_VFP_QUEUE_BITMAP,
|
||||
EVENT_VFP_QUEUE_TEXTURE,
|
||||
EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE,
|
||||
EVENT_VFP_OUTPUT_TEXTURE_RENDERED,
|
||||
EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED,
|
||||
EVENT_ENCODER_ENCODED_FRAME,
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_MUXER_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_MUXER_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_DECODER_RECEIVE_EOS,
|
||||
EVENT_DECODER_SIGNAL_EOS,
|
||||
EVENT_VFP_RECEIVE_END_OF_INPUT,
|
||||
EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
EVENT_VFP_SIGNAL_ENDED,
|
||||
EVENT_ENCODER_RECEIVE_EOS,
|
||||
EVENT_MUXER_TRACK_ENDED_AUDIO,
|
||||
EVENT_MUXER_TRACK_ENDED_VIDEO
|
||||
EVENT_INPUT_FORMAT,
|
||||
EVENT_DECODED_FRAME,
|
||||
EVENT_ENCODED_FRAME,
|
||||
EVENT_REGISTER_NEW_INPUT_STREAM,
|
||||
EVENT_SURFACE_TEXTURE_INPUT,
|
||||
EVENT_QUEUE_FRAME,
|
||||
EVENT_QUEUE_BITMAP,
|
||||
EVENT_QUEUE_TEXTURE,
|
||||
EVENT_OUTPUT_TEXTURE_RENDERED,
|
||||
EVENT_RENDERED_TO_OUTPUT_SURFACE,
|
||||
EVENT_RECEIVE_END_OF_ALL_INPUT,
|
||||
EVENT_RECEIVE_EOS,
|
||||
EVENT_SIGNAL_EOS,
|
||||
EVENT_SIGNAL_ENDED,
|
||||
EVENT_CAN_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_CAN_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_TRACK_ENDED_AUDIO,
|
||||
EVENT_TRACK_ENDED_VIDEO
|
||||
})
|
||||
@Target(TYPE_USE)
|
||||
public @interface Event {}
|
||||
|
||||
public static final String EVENT_VIDEO_INPUT_FORMAT = "VideoInputFormat";
|
||||
public static final String EVENT_DECODER_DECODED_FRAME = "Decoder-DecodedFrame";
|
||||
public static final String EVENT_VFP_REGISTER_NEW_INPUT_STREAM = "VFP-RegisterNewInputStream";
|
||||
public static final String EVENT_VFP_SURFACE_TEXTURE_INPUT = "VFP-SurfaceTextureInput";
|
||||
public static final String EVENT_VFP_QUEUE_FRAME = "VFP-QueueFrame";
|
||||
public static final String EVENT_VFP_QUEUE_BITMAP = "VFP-QueueBitmap";
|
||||
public static final String EVENT_VFP_QUEUE_TEXTURE = "VFP-QueueTexture";
|
||||
public static final String EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE = "VFP-RenderedToOutputSurface";
|
||||
public static final String EVENT_VFP_OUTPUT_TEXTURE_RENDERED = "VFP-OutputTextureRendered";
|
||||
public static final String EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED =
|
||||
"COMP-OutputTextureRendered";
|
||||
public static final String EVENT_ENCODER_ENCODED_FRAME = "Encoder-EncodedFrame";
|
||||
public static final String EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO = "Muxer-CanWriteSample_Video";
|
||||
public static final String EVENT_MUXER_WRITE_SAMPLE_VIDEO = "Muxer-WriteSample_Video";
|
||||
public static final String EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO = "Muxer-CanWriteSample_Audio";
|
||||
public static final String EVENT_MUXER_WRITE_SAMPLE_AUDIO = "Muxer-WriteSample_Audio";
|
||||
public static final String EVENT_DECODER_RECEIVE_EOS = "Decoder-ReceiveEOS";
|
||||
public static final String EVENT_DECODER_SIGNAL_EOS = "Decoder-SignalEOS";
|
||||
public static final String EVENT_VFP_RECEIVE_END_OF_INPUT = "VFP-ReceiveEndOfAllInput";
|
||||
public static final String EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS =
|
||||
"ExternalTextureManager-SignalEOS";
|
||||
public static final String EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS =
|
||||
"BitmapTextureManager-SignalEOS";
|
||||
public static final String EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS =
|
||||
"TexIdTextureManager-SignalEOS";
|
||||
public static final String EVENT_VFP_SIGNAL_ENDED = "VFP-SignalEnded";
|
||||
public static final String EVENT_ENCODER_RECEIVE_EOS = "Encoder-ReceiveEOS";
|
||||
public static final String EVENT_MUXER_TRACK_ENDED_AUDIO = "Muxer-TrackEnded_Audio";
|
||||
public static final String EVENT_MUXER_TRACK_ENDED_VIDEO = "Muxer-TrackEnded_Video";
|
||||
public static final String EVENT_INPUT_FORMAT = "InputFormat";
|
||||
public static final String EVENT_DECODED_FRAME = "DecodedFrame";
|
||||
public static final String EVENT_ENCODED_FRAME = "EncodedFrame";
|
||||
public static final String EVENT_REGISTER_NEW_INPUT_STREAM = "RegisterNewInputStream";
|
||||
public static final String EVENT_SURFACE_TEXTURE_INPUT = "SurfaceTextureInput";
|
||||
public static final String EVENT_QUEUE_FRAME = "QueueFrame";
|
||||
public static final String EVENT_QUEUE_BITMAP = "QueueBitmap";
|
||||
public static final String EVENT_QUEUE_TEXTURE = "QueueTexture";
|
||||
public static final String EVENT_OUTPUT_TEXTURE_RENDERED = "OutputTextureRendered";
|
||||
public static final String EVENT_RENDERED_TO_OUTPUT_SURFACE = "RenderedToOutputSurface";
|
||||
public static final String EVENT_RECEIVE_END_OF_ALL_INPUT = "ReceiveEndOfAllInput";
|
||||
public static final String EVENT_RECEIVE_EOS = "ReceiveEOS";
|
||||
public static final String EVENT_SIGNAL_EOS = "SignalEOS";
|
||||
public static final String EVENT_SIGNAL_ENDED = "SignalEnded";
|
||||
public static final String EVENT_CAN_WRITE_SAMPLE_AUDIO = "CanWriteSample_Audio";
|
||||
public static final String EVENT_CAN_WRITE_SAMPLE_VIDEO = "CanWriteSample_Video";
|
||||
public static final String EVENT_WRITE_SAMPLE_AUDIO = "WriteSample_Audio";
|
||||
public static final String EVENT_WRITE_SAMPLE_VIDEO = "WriteSample_Video";
|
||||
public static final String EVENT_TRACK_ENDED_AUDIO = "TrackEnded_Audio";
|
||||
public static final String EVENT_TRACK_ENDED_VIDEO = "TrackEnded_Video";
|
||||
|
||||
/** Components logged by {@link #logEvent}. */
|
||||
@Documented
|
||||
|
|
@ -150,38 +136,33 @@ public final class DebugTraceUtil {
|
|||
// For a given component, events are in the rough expected order that they occur.
|
||||
private static final ImmutableMap<@Component String, List<@Event String>> COMPONENTS_TO_EVENTS =
|
||||
ImmutableMap.of(
|
||||
COMPONENT_VIDEO, ImmutableList.of(EVENT_VIDEO_INPUT_FORMAT),
|
||||
COMPONENT_VIDEO, ImmutableList.of(EVENT_INPUT_FORMAT),
|
||||
COMPONENT_DECODER,
|
||||
ImmutableList.of(
|
||||
EVENT_DECODER_DECODED_FRAME, EVENT_DECODER_RECEIVE_EOS, EVENT_DECODER_SIGNAL_EOS),
|
||||
ImmutableList.of(EVENT_DECODED_FRAME, EVENT_RECEIVE_EOS, EVENT_SIGNAL_EOS),
|
||||
COMPONENT_VFP,
|
||||
ImmutableList.of(
|
||||
EVENT_VFP_REGISTER_NEW_INPUT_STREAM,
|
||||
EVENT_VFP_SURFACE_TEXTURE_INPUT,
|
||||
EVENT_VFP_QUEUE_FRAME,
|
||||
EVENT_VFP_QUEUE_BITMAP,
|
||||
EVENT_VFP_QUEUE_TEXTURE,
|
||||
EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE,
|
||||
EVENT_VFP_OUTPUT_TEXTURE_RENDERED,
|
||||
EVENT_VFP_RECEIVE_END_OF_INPUT,
|
||||
EVENT_VFP_SIGNAL_ENDED),
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER,
|
||||
ImmutableList.of(EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS),
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER,
|
||||
ImmutableList.of(EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS),
|
||||
COMPONENT_TEX_ID_TEXTURE_MANAGER,
|
||||
ImmutableList.of(EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS),
|
||||
COMPONENT_COMPOSITOR, ImmutableList.of(EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED),
|
||||
COMPONENT_ENCODER,
|
||||
ImmutableList.of(EVENT_ENCODER_ENCODED_FRAME, EVENT_ENCODER_RECEIVE_EOS),
|
||||
EVENT_REGISTER_NEW_INPUT_STREAM,
|
||||
EVENT_SURFACE_TEXTURE_INPUT,
|
||||
EVENT_QUEUE_FRAME,
|
||||
EVENT_QUEUE_BITMAP,
|
||||
EVENT_QUEUE_TEXTURE,
|
||||
EVENT_RENDERED_TO_OUTPUT_SURFACE,
|
||||
EVENT_OUTPUT_TEXTURE_RENDERED,
|
||||
EVENT_RECEIVE_END_OF_ALL_INPUT,
|
||||
EVENT_SIGNAL_ENDED),
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER, ImmutableList.of(EVENT_SIGNAL_EOS),
|
||||
COMPONENT_BITMAP_TEXTURE_MANAGER, ImmutableList.of(EVENT_SIGNAL_EOS),
|
||||
COMPONENT_TEX_ID_TEXTURE_MANAGER, ImmutableList.of(EVENT_SIGNAL_EOS),
|
||||
COMPONENT_COMPOSITOR, ImmutableList.of(EVENT_OUTPUT_TEXTURE_RENDERED),
|
||||
COMPONENT_ENCODER, ImmutableList.of(EVENT_ENCODED_FRAME, EVENT_RECEIVE_EOS),
|
||||
COMPONENT_MUXER,
|
||||
ImmutableList.of(
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_MUXER_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_MUXER_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_MUXER_TRACK_ENDED_AUDIO,
|
||||
EVENT_MUXER_TRACK_ENDED_VIDEO));
|
||||
EVENT_CAN_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_CAN_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_TRACK_ENDED_AUDIO,
|
||||
EVENT_TRACK_ENDED_VIDEO));
|
||||
|
||||
private static final int MAX_FIRST_LAST_LOGS = 10;
|
||||
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ import static androidx.media3.common.util.Assertions.checkState;
|
|||
import static androidx.media3.common.util.Assertions.checkStateNotNull;
|
||||
import static androidx.media3.common.util.Util.SDK_INT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_RECEIVE_END_OF_INPUT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_REGISTER_NEW_INPUT_STREAM;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_SIGNAL_ENDED;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_RECEIVE_END_OF_ALL_INPUT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_REGISTER_NEW_INPUT_STREAM;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SIGNAL_ENDED;
|
||||
import static com.google.common.collect.Iterables.getFirst;
|
||||
import static java.lang.annotation.ElementType.TYPE_USE;
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ public final class DefaultVideoFrameProcessor implements VideoFrameProcessor {
|
|||
() -> {
|
||||
if (inputStreamEnded) {
|
||||
listenerExecutor.execute(listener::onEnded);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_VFP_SIGNAL_ENDED, C.TIME_END_OF_SOURCE);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_SIGNAL_ENDED, C.TIME_END_OF_SOURCE);
|
||||
} else {
|
||||
synchronized (lock) {
|
||||
if (pendingInputStreamInfo != null) {
|
||||
|
|
@ -537,7 +537,7 @@ public final class DefaultVideoFrameProcessor implements VideoFrameProcessor {
|
|||
// queued.
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VFP,
|
||||
EVENT_VFP_REGISTER_NEW_INPUT_STREAM,
|
||||
EVENT_REGISTER_NEW_INPUT_STREAM,
|
||||
/* presentationTimeUs= */ frameInfo.offsetToAddUs,
|
||||
/* extraFormat= */ "InputType %s - %dx%d",
|
||||
/* extraArgs...= */ getInputTypeString(inputType),
|
||||
|
|
@ -622,7 +622,7 @@ public final class DefaultVideoFrameProcessor implements VideoFrameProcessor {
|
|||
|
||||
@Override
|
||||
public void signalEndOfInput() {
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_VFP_RECEIVE_END_OF_INPUT, C.TIME_END_OF_SOURCE);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_RECEIVE_END_OF_ALL_INPUT, C.TIME_END_OF_SOURCE);
|
||||
checkState(!inputStreamEnded);
|
||||
inputStreamEnded = true;
|
||||
inputSwitcher.signalEndOfInputStream();
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull;
|
|||
import static androidx.media3.common.util.Util.isRunningOnEmulator;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_EXTERNAL_TEXTURE_MANAGER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_QUEUE_FRAME;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_SURFACE_TEXTURE_INPUT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_QUEUE_FRAME;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SIGNAL_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SURFACE_TEXTURE_INPUT;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
|
||||
import android.graphics.SurfaceTexture;
|
||||
|
|
@ -130,8 +130,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
unused ->
|
||||
videoFrameProcessingTaskExecutor.submit(
|
||||
() -> {
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VFP, EVENT_VFP_SURFACE_TEXTURE_INPUT, C.TIME_UNSET);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_SURFACE_TEXTURE_INPUT, C.TIME_UNSET);
|
||||
if (shouldRejectIncomingFrames) {
|
||||
surfaceTexture.updateTexImage();
|
||||
Log.w(
|
||||
|
|
@ -206,9 +205,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
currentInputStreamEnded = false;
|
||||
checkNotNull(externalShaderProgram).signalEndOfCurrentInputStream();
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER,
|
||||
EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
C.TIME_END_OF_SOURCE);
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
cancelForceSignalEndOfStreamTimer();
|
||||
} else {
|
||||
maybeQueueFrameToExternalShaderProgram();
|
||||
|
|
@ -253,9 +250,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
if (pendingFrames.isEmpty() && currentFrame == null) {
|
||||
checkNotNull(externalShaderProgram).signalEndOfCurrentInputStream();
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER,
|
||||
EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
C.TIME_END_OF_SOURCE);
|
||||
COMPONENT_EXTERNAL_TEXTURE_MANAGER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
cancelForceSignalEndOfStreamTimer();
|
||||
} else {
|
||||
currentInputStreamEnded = true;
|
||||
|
|
@ -385,7 +380,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
if (!repeatLastRegisteredFrame) {
|
||||
checkStateNotNull(pendingFrames.remove());
|
||||
}
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_VFP_QUEUE_FRAME, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_QUEUE_FRAME, presentationTimeUs);
|
||||
// If the queued frame is the last frame, end of stream will be signaled onInputFrameProcessed.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ package androidx.media3.effect;
|
|||
import static androidx.media3.common.util.Assertions.checkNotNull;
|
||||
import static androidx.media3.common.util.Assertions.checkState;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_RENDERED_TO_OUTPUT_SURFACE;
|
||||
import static androidx.media3.effect.DefaultVideoFrameProcessor.WORKING_COLOR_SPACE_LINEAR;
|
||||
|
||||
import android.content.Context;
|
||||
|
|
@ -391,8 +391,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
? System.nanoTime()
|
||||
: renderTimeNs);
|
||||
EGL14.eglSwapBuffers(eglDisplay, outputEglSurface);
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VFP, EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_RENDERED_TO_OUTPUT_SURFACE, presentationTimeUs);
|
||||
}
|
||||
|
||||
private void renderFrameToOutputTexture(GlTextureInfo inputTexture, long presentationTimeUs)
|
||||
|
|
|
|||
|
|
@ -24,8 +24,7 @@ import static androidx.media3.common.util.Util.contains;
|
|||
import static androidx.media3.common.util.Util.newSingleThreadScheduledExecutor;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_COMPOSITOR;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_OUTPUT_TEXTURE_RENDERED;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_OUTPUT_TEXTURE_RENDERED;
|
||||
import static androidx.media3.effect.DefaultVideoFrameProcessor.WORKING_COLOR_SPACE_LINEAR;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
|
||||
|
|
@ -321,7 +320,7 @@ public abstract class MultipleInputVideoGraph implements VideoGraph {
|
|||
GlTextureProducer textureProducer,
|
||||
GlTextureInfo texture,
|
||||
long presentationTimeUs) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_VFP_OUTPUT_TEXTURE_RENDERED, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_VFP, EVENT_OUTPUT_TEXTURE_RENDERED, presentationTimeUs);
|
||||
checkNotNull(videoCompositor)
|
||||
.queueInputTexture(
|
||||
videoCompositorInputId,
|
||||
|
|
@ -341,7 +340,7 @@ public abstract class MultipleInputVideoGraph implements VideoGraph {
|
|||
checkStateNotNull(compositionVideoFrameProcessor);
|
||||
checkState(!compositorEnded);
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_COMPOSITOR, EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED, presentationTimeUs);
|
||||
COMPONENT_COMPOSITOR, EVENT_OUTPUT_TEXTURE_RENDERED, presentationTimeUs);
|
||||
|
||||
compositorOutputTextures.add(
|
||||
new CompositorOutputTextureInfo(outputTexture, presentationTimeUs));
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ package androidx.media3.effect;
|
|||
import static androidx.media3.common.util.Assertions.checkNotNull;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_TEX_ID_TEXTURE_MANAGER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VFP;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VFP_QUEUE_TEXTURE;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_QUEUE_TEXTURE;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SIGNAL_EOS;
|
||||
|
||||
import android.opengl.GLES10;
|
||||
import androidx.media3.common.C;
|
||||
|
|
@ -91,7 +91,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
checkNotNull(frameConsumptionManager).queueInputFrame(inputTexture, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VFP,
|
||||
EVENT_VFP_QUEUE_TEXTURE,
|
||||
EVENT_QUEUE_TEXTURE,
|
||||
presentationTimeUs,
|
||||
/* extraFormat= */ "%dx%d",
|
||||
/* extraArgs...= */ frameInfo.width,
|
||||
|
|
@ -120,9 +120,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
() -> {
|
||||
checkNotNull(frameConsumptionManager).signalEndOfCurrentStream();
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_TEX_ID_TEXTURE_MANAGER,
|
||||
EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS,
|
||||
C.TIME_END_OF_SOURCE);
|
||||
COMPONENT_TEX_ID_TEXTURE_MANAGER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,8 +23,7 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull;
|
|||
import static androidx.media3.common.util.Util.SDK_INT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_DECODER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_ENCODER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_DECODER_RECEIVE_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_ENCODER_RECEIVE_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_RECEIVE_EOS;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.MediaCodec;
|
||||
|
|
@ -224,8 +223,7 @@ public final class DefaultCodec implements Codec {
|
|||
|
||||
if (isDecoder) {
|
||||
if (isVideo) {
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_DECODER, EVENT_DECODER_RECEIVE_EOS, C.TIME_END_OF_SOURCE);
|
||||
DebugTraceUtil.logEvent(COMPONENT_DECODER, EVENT_RECEIVE_EOS, C.TIME_END_OF_SOURCE);
|
||||
}
|
||||
// EOS buffer on the decoder input should never carry data.
|
||||
checkState(inputBuffer.data == null || !inputBuffer.data.hasRemaining());
|
||||
|
|
@ -246,7 +244,7 @@ public final class DefaultCodec implements Codec {
|
|||
|
||||
@Override
|
||||
public void signalEndOfInputStream() throws ExportException {
|
||||
DebugTraceUtil.logEvent(COMPONENT_ENCODER, EVENT_ENCODER_RECEIVE_EOS, C.TIME_END_OF_SOURCE);
|
||||
DebugTraceUtil.logEvent(COMPONENT_ENCODER, EVENT_RECEIVE_EOS, C.TIME_END_OF_SOURCE);
|
||||
try {
|
||||
mediaCodec.signalEndOfInputStream();
|
||||
} catch (RuntimeException e) {
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ import static androidx.media3.common.util.Assertions.checkNotNull;
|
|||
import static androidx.media3.common.util.Assertions.checkStateNotNull;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_DECODER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_DECODER_DECODED_FRAME;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_DECODER_SIGNAL_EOS;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_VIDEO_INPUT_FORMAT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_DECODED_FRAME;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_INPUT_FORMAT;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_SIGNAL_EOS;
|
||||
import static androidx.media3.transformer.TransformerUtil.getDecoderOutputColor;
|
||||
|
||||
import android.media.MediaCodec;
|
||||
|
|
@ -92,7 +92,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||
protected void onInputFormatRead(Format inputFormat) {
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_VIDEO,
|
||||
EVENT_VIDEO_INPUT_FORMAT,
|
||||
EVENT_INPUT_FORMAT,
|
||||
C.TIME_UNSET,
|
||||
/* extraFormat= */ "%s",
|
||||
/* extraArgs...= */ inputFormat);
|
||||
|
|
@ -157,7 +157,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||
@RequiresNonNull({"sampleConsumer", "decoder"})
|
||||
protected boolean feedConsumerFromDecoder() throws ExportException {
|
||||
if (decoder.isEnded()) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_DECODER, EVENT_DECODER_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
DebugTraceUtil.logEvent(COMPONENT_DECODER, EVENT_SIGNAL_EOS, C.TIME_END_OF_SOURCE);
|
||||
sampleConsumer.signalEndOfVideoInput();
|
||||
isEnded = true;
|
||||
return false;
|
||||
|
|
@ -184,7 +184,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||
}
|
||||
|
||||
decoder.releaseOutputBuffer(presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_DECODER, EVENT_DECODER_DECODED_FRAME, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_DECODER, EVENT_DECODED_FRAME, presentationTimeUs);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@ import static androidx.media3.common.util.Util.areEqual;
|
|||
import static androidx.media3.common.util.Util.contains;
|
||||
import static androidx.media3.common.util.Util.usToMs;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_MUXER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_TRACK_ENDED_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_TRACK_ENDED_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_WRITE_SAMPLE_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_MUXER_WRITE_SAMPLE_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_CAN_WRITE_SAMPLE_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_CAN_WRITE_SAMPLE_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_TRACK_ENDED_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_TRACK_ENDED_VIDEO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_WRITE_SAMPLE_AUDIO;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_WRITE_SAMPLE_VIDEO;
|
||||
import static java.lang.Math.max;
|
||||
import static java.lang.annotation.ElementType.TYPE_USE;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
|
|
@ -533,7 +533,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
if (trackType == C.TRACK_TYPE_VIDEO) {
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_MUXER,
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO,
|
||||
EVENT_CAN_WRITE_SAMPLE_VIDEO,
|
||||
presentationTimeUs,
|
||||
/* extraFormat= */ "%s",
|
||||
/* extraArgs...= */ canWriteSample);
|
||||
|
|
@ -543,7 +543,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
} else if (trackType == C.TRACK_TYPE_AUDIO) {
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_MUXER,
|
||||
EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO,
|
||||
EVENT_CAN_WRITE_SAMPLE_AUDIO,
|
||||
presentationTimeUs,
|
||||
/* extraFormat= */ "%s",
|
||||
/* extraArgs...= */ canWriteSample);
|
||||
|
|
@ -573,9 +573,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
TransformerUtil.getMediaCodecFlags(isKeyFrame ? C.BUFFER_FLAG_KEY_FRAME : 0));
|
||||
muxer.writeSampleData(trackInfo.trackToken, data, bufferInfo);
|
||||
if (trackType == C.TRACK_TYPE_VIDEO) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_MUXER_WRITE_SAMPLE_VIDEO, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_WRITE_SAMPLE_VIDEO, presentationTimeUs);
|
||||
} else if (trackType == C.TRACK_TYPE_AUDIO) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_MUXER_WRITE_SAMPLE_AUDIO, presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_WRITE_SAMPLE_AUDIO, presentationTimeUs);
|
||||
}
|
||||
previousTrackType = trackType;
|
||||
return true;
|
||||
|
|
@ -597,9 +597,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
listener.onTrackEnded(
|
||||
trackType, trackInfo.format, trackInfo.getAverageBitrate(), trackInfo.sampleCount);
|
||||
if (trackType == C.TRACK_TYPE_VIDEO) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_MUXER_TRACK_ENDED_VIDEO, trackInfo.timeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_TRACK_ENDED_VIDEO, trackInfo.timeUs);
|
||||
} else if (trackType == C.TRACK_TYPE_AUDIO) {
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_MUXER_TRACK_ENDED_AUDIO, trackInfo.timeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_MUXER, EVENT_TRACK_ENDED_AUDIO, trackInfo.timeUs);
|
||||
}
|
||||
|
||||
if (muxerMode == MUXER_MODE_MUX_PARTIAL) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import static androidx.media3.common.ColorInfo.isTransferHdr;
|
|||
import static androidx.media3.common.util.Assertions.checkArgument;
|
||||
import static androidx.media3.common.util.Assertions.checkNotNull;
|
||||
import static androidx.media3.effect.DebugTraceUtil.COMPONENT_ENCODER;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_ENCODER_ENCODED_FRAME;
|
||||
import static androidx.media3.effect.DebugTraceUtil.EVENT_ENCODED_FRAME;
|
||||
import static androidx.media3.transformer.Composition.HDR_MODE_KEEP_HDR;
|
||||
import static androidx.media3.transformer.Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL;
|
||||
import static androidx.media3.transformer.TransformerUtil.getOutputMimeTypeAndHdrModeAfterFallback;
|
||||
|
|
@ -195,8 +195,7 @@ import org.checkerframework.dataflow.qual.Pure;
|
|||
hasMuxedTimestampZero = true;
|
||||
}
|
||||
}
|
||||
DebugTraceUtil.logEvent(
|
||||
COMPONENT_ENCODER, EVENT_ENCODER_ENCODED_FRAME, bufferInfo.presentationTimeUs);
|
||||
DebugTraceUtil.logEvent(COMPONENT_ENCODER, EVENT_ENCODED_FRAME, bufferInfo.presentationTimeUs);
|
||||
encoderOutputBuffer.timeUs = bufferInfo.presentationTimeUs;
|
||||
encoderOutputBuffer.setFlags(bufferInfo.flags);
|
||||
return encoderOutputBuffer;
|
||||
|
|
|
|||
Loading…
Reference in a new issue