mirror of
https://github.com/samsonjs/media.git
synced 2026-06-29 05:39:31 +00:00
Set LogSessionId on MediaCodec.
PiperOrigin-RevId: 410516082
This commit is contained in:
parent
14ab4f8058
commit
6ed75f1a93
1 changed files with 18 additions and 0 deletions
|
|
@ -37,6 +37,7 @@ import android.media.MediaCodec.CryptoException;
|
|||
import android.media.MediaCrypto;
|
||||
import android.media.MediaCryptoException;
|
||||
import android.media.MediaFormat;
|
||||
import android.media.metrics.LogSessionId;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import androidx.annotation.CallSuper;
|
||||
|
|
@ -50,6 +51,7 @@ import com.google.android.exoplayer2.ExoPlaybackException;
|
|||
import com.google.android.exoplayer2.Format;
|
||||
import com.google.android.exoplayer2.FormatHolder;
|
||||
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.DecoderCounters;
|
||||
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
|
||||
|
|
@ -1060,6 +1062,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||
TraceUtil.beginSection("createCodec:" + codecName);
|
||||
MediaCodecAdapter.Configuration configuration =
|
||||
getMediaCodecConfiguration(codecInfo, inputFormat, crypto, codecOperatingRate);
|
||||
if (Util.SDK_INT >= 31) {
|
||||
Api31.setLogSessionIdToMediaCodecFormat(configuration, getPlayerId());
|
||||
}
|
||||
codec = codecAdapterFactory.createAdapter(configuration);
|
||||
codecInitializedTimestamp = SystemClock.elapsedRealtime();
|
||||
|
||||
|
|
@ -2421,4 +2426,17 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||
&& format.channelCount == 1
|
||||
&& "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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue