Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97725e03 authored by Dichen Zhang's avatar Dichen Zhang
Browse files

Add session ID

Add new session-id key to Media Format and MediaMetrics.

Bug: b/180037783
Test: set session ID in app and print log in native code.

Change-Id: I405dd64545d1e605eed9ab8626cd81cda4b94d64
parent fc4adc4f
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -21102,7 +21102,7 @@ package android.media {
    method @NonNull public String getDiagnosticInfo();
  }
  public final class MediaCodec implements android.media.metrics.PlaybackComponent {
  public final class MediaCodec {
    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, @Nullable android.media.MediaCrypto, int);
    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, int, @Nullable android.media.MediaDescrambler);
    method @NonNull public static android.media.MediaCodec createByCodecName(@NonNull String) throws java.io.IOException;
@@ -21128,7 +21128,6 @@ package android.media {
    method @NonNull public android.media.MediaFormat getOutputFormat(int);
    method @NonNull public android.media.MediaCodec.OutputFrame getOutputFrame(int);
    method @Nullable public android.media.Image getOutputImage(int);
    method public String getPlaybackId();
    method @NonNull public android.media.MediaCodec.QueueRequest getQueueRequest(int);
    method @Nullable public static android.media.Image mapHardwareBuffer(@NonNull android.hardware.HardwareBuffer);
    method public void queueInputBuffer(int, int, int, long, int) throws android.media.MediaCodec.CryptoException;
@@ -21144,7 +21143,6 @@ package android.media {
    method public void setOnFrameRenderedListener(@Nullable android.media.MediaCodec.OnFrameRenderedListener, @Nullable android.os.Handler);
    method public void setOutputSurface(@NonNull android.view.Surface);
    method public void setParameters(@Nullable android.os.Bundle);
    method public void setPlaybackId(@NonNull String);
    method public void setVideoScalingMode(int);
    method public void signalEndOfInputStream();
    method public void start();
+1 −20
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.graphics.Rect;
import android.graphics.SurfaceTexture;
import android.hardware.HardwareBuffer;
import android.media.MediaCodecInfo.CodecCapabilities;
import android.media.metrics.PlaybackComponent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@@ -1539,7 +1538,7 @@ import java.util.concurrent.locks.ReentrantLock;
  </tbody>
 </table>
 */
final public class MediaCodec implements PlaybackComponent {
final public class MediaCodec {

    /**
     * Per buffer metadata includes an offset and size specifying
@@ -1682,7 +1681,6 @@ final public class MediaCodec implements PlaybackComponent {
    private MediaCodecInfo mCodecInfo;
    private final Object mCodecInfoLock = new Object();
    private MediaCrypto mCrypto;
    private String mPlaybackId;

    private static final int EVENT_CALLBACK = 1;
    private static final int EVENT_SET_CALLBACK = 2;
@@ -1693,23 +1691,6 @@ final public class MediaCodec implements PlaybackComponent {
    private static final int CB_ERROR = 3;
    private static final int CB_OUTPUT_FORMAT_CHANGE = 4;


    /**
     * @hide
     */
    @Override
    public void setPlaybackId(@NonNull String playbackId) {
        // TODO: add a native method to pass the ID to the native code for logging.
        mPlaybackId = playbackId;
    }
    /**
     * @hide
     */
    @Override
    public String getPlaybackId() {
        return mPlaybackId;
    }

    private class EventHandler extends Handler {
        private MediaCodec mCodec;

+9 −0
Original line number Diff line number Diff line
@@ -214,6 +214,15 @@ public final class MediaFormat {
    @UnsupportedAppUsage
    private Map<String, Object> mMap;

    /**
     * A key describing the log session ID for MediaCodec. The log session ID is a random 32-byte
     * hexadecimal string that is used to associate metrics from multiple media codec instances
     * to the same playback or recording session.
     * The associated value is a string.
     * @hide
     */
    public static final String LOG_SESSION_ID = "log-session-id";

    /**
     * A key describing the mime type of the MediaFormat.
     * The associated value is a string.