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

Commit 1c56a67d authored by Lajos Molnar's avatar Lajos Molnar
Browse files

MediaPlayer.TrackInfo: add getFormat() method



This returns the MediaFormat of the track or null (for now).

Change-Id: Ib88fc229b661942b2ed136204fdc43da427d7aed
Signed-off-by: default avatarLajos Molnar <lajos@google.com>
Bug: 10326117
parent dc775c66
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12567,6 +12567,7 @@ package android.media {
  public static class MediaPlayer.TrackInfo implements android.os.Parcelable {
    method public int describeContents();
    method public android.media.MediaFormat getFormat();
    method public java.lang.String getLanguage();
    method public int getTrackType();
    method public void writeToParcel(android.os.Parcel, int);
+26 −4
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.view.SurfaceHolder;
import android.graphics.Bitmap;
import android.graphics.SurfaceTexture;
import android.media.AudioManager;
import android.media.MediaFormat;

import java.io.File;
import java.io.FileDescriptor;
@@ -1526,7 +1527,19 @@ public class MediaPlayer
         * ISO-639-2 language code, "und", is returned.
         */
        public String getLanguage() {
            return mLanguage;
            String language = mFormat.getString(MediaFormat.KEY_LANGUAGE);
            return language == null ? "und" : language;
        }

        /**
         * Gets the {@link MediaFormat} of the track.  If the format is
         * unknown or could not be determined, null is returned.
         */
        public MediaFormat getFormat() {
            if (mTrackType == MEDIA_TRACK_TYPE_TIMEDTEXT) {
                return mFormat;
            }
            return null;
        }

        public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0;
@@ -1535,11 +1548,20 @@ public class MediaPlayer
        public static final int MEDIA_TRACK_TYPE_TIMEDTEXT = 3;

        final int mTrackType;
        final String mLanguage;
        final MediaFormat mFormat;

        TrackInfo(Parcel in) {
            mTrackType = in.readInt();
            mLanguage = in.readString();
            // TODO: parcel in the full MediaFormat
            String language = in.readString();

            if (mTrackType == MEDIA_TRACK_TYPE_TIMEDTEXT) {
                mFormat = MediaFormat.createSubtitleFormat(
                    MEDIA_MIMETYPE_TEXT_SUBRIP, language);
            } else {
                mFormat = new MediaFormat();
                mFormat.setString(MediaFormat.KEY_LANGUAGE, language);
            }
        }

        /**
@@ -1556,7 +1578,7 @@ public class MediaPlayer
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(mTrackType);
            dest.writeString(mLanguage);
            dest.writeString(getLanguage());
        }

        /**