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

Commit 3acf66f5 authored by Jae Seo's avatar Jae Seo Committed by Android (Google) Code Review
Browse files

Merge "TIF: Add the video frame rate information to TvTrackInfo" into lmp-dev

parents b19fe388 47b9e4af
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -17072,6 +17072,7 @@ package android.media.tv {
    method public final java.lang.String getId();
    method public final java.lang.String getLanguage();
    method public final int getType();
    method public final float getVideoFrameRate();
    method public final int getVideoHeight();
    method public final int getVideoWidth();
    method public void writeToParcel(android.os.Parcel, int);
@@ -17088,6 +17089,7 @@ package android.media.tv {
    method public final android.media.tv.TvTrackInfo.Builder setAudioSampleRate(int);
    method public final android.media.tv.TvTrackInfo.Builder setExtra(android.os.Bundle);
    method public final android.media.tv.TvTrackInfo.Builder setLanguage(java.lang.String);
    method public final android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float);
    method public final android.media.tv.TvTrackInfo.Builder setVideoHeight(int);
    method public final android.media.tv.TvTrackInfo.Builder setVideoWidth(int);
  }
+33 −2
Original line number Diff line number Diff line
@@ -46,10 +46,12 @@ public final class TvTrackInfo implements Parcelable {
    private final int mAudioSampleRate;
    private final int mVideoWidth;
    private final int mVideoHeight;
    private final float mVideoFrameRate;
    private final Bundle mExtra;

    private TvTrackInfo(int type, String id, String language, int audioChannelCount,
            int audioSampleRate, int videoWidth, int videoHeight, Bundle extra) {
            int audioSampleRate, int videoWidth, int videoHeight, float videoFrameRate,
            Bundle extra) {
        mType = type;
        mId = id;
        mLanguage = language;
@@ -57,6 +59,7 @@ public final class TvTrackInfo implements Parcelable {
        mAudioSampleRate = audioSampleRate;
        mVideoWidth = videoWidth;
        mVideoHeight = videoHeight;
        mVideoFrameRate = videoFrameRate;
        mExtra = extra;
    }

@@ -68,6 +71,7 @@ public final class TvTrackInfo implements Parcelable {
        mAudioSampleRate = in.readInt();
        mVideoWidth = in.readInt();
        mVideoHeight = in.readInt();
        mVideoFrameRate = in.readFloat();
        mExtra = in.readBundle();
    }

@@ -136,6 +140,17 @@ public final class TvTrackInfo implements Parcelable {
        return mVideoHeight;
    }

    /**
     * Returns the frame rate of the video, in the unit of fps (frames per second). Valid only for
     * {@link #TYPE_VIDEO} tracks.
     */
    public final float getVideoFrameRate() {
        if (mType != TYPE_VIDEO) {
            throw new IllegalStateException("Not a video track");
        }
        return mVideoFrameRate;
    }

    /**
     * Returns the extra information about the current track.
     */
@@ -163,6 +178,7 @@ public final class TvTrackInfo implements Parcelable {
        dest.writeInt(mAudioSampleRate);
        dest.writeInt(mVideoWidth);
        dest.writeInt(mVideoHeight);
        dest.writeFloat(mVideoFrameRate);
        dest.writeBundle(mExtra);
    }

@@ -190,6 +206,7 @@ public final class TvTrackInfo implements Parcelable {
        private int mAudioSampleRate;
        private int mVideoWidth;
        private int mVideoHeight;
        private float mVideoFrameRate;
        private Bundle mExtra;

        /**
@@ -278,6 +295,20 @@ public final class TvTrackInfo implements Parcelable {
            return this;
        }

        /**
         * Sets the frame rate of the video, in the unit fps (frames per rate). Valid only for
         * {@link #TYPE_VIDEO} tracks.
         *
         * @param videoFrameRate The frame rate of the video.
         */
        public final Builder setVideoFrameRate(float videoFrameRate) {
            if (mType != TYPE_VIDEO) {
                throw new IllegalStateException("Not a video track");
            }
            mVideoFrameRate = videoFrameRate;
            return this;
        }

        /**
         * Sets the extra information about the current track.
         *
@@ -295,7 +326,7 @@ public final class TvTrackInfo implements Parcelable {
         */
        public TvTrackInfo build() {
            return new TvTrackInfo(mType, mId, mLanguage, mAudioChannelCount, mAudioSampleRate,
                    mVideoWidth, mVideoHeight, mExtra);
                    mVideoWidth, mVideoHeight, mVideoFrameRate, mExtra);
        }
    }
}
 No newline at end of file