Commit 6ed75f1a by tonihei

Set LogSessionId on MediaCodec.

PiperOrigin-RevId: 410516082
parent 14ab4f80
...@@ -37,6 +37,7 @@ import android.media.MediaCodec.CryptoException; ...@@ -37,6 +37,7 @@ import android.media.MediaCodec.CryptoException;
import android.media.MediaCrypto; import android.media.MediaCrypto;
import android.media.MediaCryptoException; import android.media.MediaCryptoException;
import android.media.MediaFormat; import android.media.MediaFormat;
import android.media.metrics.LogSessionId;
import android.os.Bundle; import android.os.Bundle;
import android.os.SystemClock; import android.os.SystemClock;
import androidx.annotation.CallSuper; import androidx.annotation.CallSuper;
...@@ -50,6 +51,7 @@ import com.google.android.exoplayer2.ExoPlaybackException; ...@@ -50,6 +51,7 @@ import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.FormatHolder; import com.google.android.exoplayer2.FormatHolder;
import com.google.android.exoplayer2.PlaybackException; import com.google.android.exoplayer2.PlaybackException;
import com.google.android.exoplayer2.analytics.PlayerId;
import com.google.android.exoplayer2.decoder.CryptoConfig; import com.google.android.exoplayer2.decoder.CryptoConfig;
import com.google.android.exoplayer2.decoder.DecoderCounters; import com.google.android.exoplayer2.decoder.DecoderCounters;
import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
...@@ -1060,6 +1062,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer { ...@@ -1060,6 +1062,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
TraceUtil.beginSection("createCodec:" + codecName); TraceUtil.beginSection("createCodec:" + codecName);
MediaCodecAdapter.Configuration configuration = MediaCodecAdapter.Configuration configuration =
getMediaCodecConfiguration(codecInfo, inputFormat, crypto, codecOperatingRate); getMediaCodecConfiguration(codecInfo, inputFormat, crypto, codecOperatingRate);
if (Util.SDK_INT >= 31) {
Api31.setLogSessionIdToMediaCodecFormat(configuration, getPlayerId());
}
codec = codecAdapterFactory.createAdapter(configuration); codec = codecAdapterFactory.createAdapter(configuration);
codecInitializedTimestamp = SystemClock.elapsedRealtime(); codecInitializedTimestamp = SystemClock.elapsedRealtime();
...@@ -2421,4 +2426,17 @@ public abstract class MediaCodecRenderer extends BaseRenderer { ...@@ -2421,4 +2426,17 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
&& format.channelCount == 1 && format.channelCount == 1
&& "OMX.MTK.AUDIO.DECODER.MP3".equals(name); && "OMX.MTK.AUDIO.DECODER.MP3".equals(name);
} }
@RequiresApi(31)
private static final class Api31 {
private Api31() {}
public static void setLogSessionIdToMediaCodecFormat(
MediaCodecAdapter.Configuration codecConfiguration, PlayerId playerId) {
LogSessionId logSessionId = playerId.getLogSessionId();
if (!logSessionId.equals(LogSessionId.LOG_SESSION_ID_NONE)) {
codecConfiguration.mediaFormat.setString("log-session-id", logSessionId.getStringId());
}
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment