diff options
author | Chong Zhang <chz@google.com> | 2013-08-20 18:23:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-08-20 18:23:12 +0000 |
commit | a3132d975b218b3d973711ebf347da3c433a9afb (patch) | |
tree | 49d9d1deff1b6a011ae9efda3ca76049f0397af8 /media | |
parent | f23993fb52bd88c8512588c8a2cb0a53fecb2cf2 (diff) | |
parent | 1c56a67dbbade39b1d88738a49fd31b4f97df0ab (diff) | |
download | frameworks_base-a3132d975b218b3d973711ebf347da3c433a9afb.zip frameworks_base-a3132d975b218b3d973711ebf347da3c433a9afb.tar.gz frameworks_base-a3132d975b218b3d973711ebf347da3c433a9afb.tar.bz2 |
Merge "MediaPlayer.TrackInfo: add getFormat() method" into klp-dev
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/MediaPlayer.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java index 241c7fa..7206244 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -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()); } /** |