diff options
author | Lajos Molnar <lajos@google.com> | 2013-08-15 12:05:52 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2013-08-15 12:35:14 -0700 |
commit | 1c56a67dbbade39b1d88738a49fd31b4f97df0ab (patch) | |
tree | 99c0eb2ffdf678a3a2bbfbb30600aa51cb6403e9 /media/java | |
parent | dc775c66bf52d998e6cc37a0ba1ec3b12607fac4 (diff) | |
download | frameworks_base-1c56a67dbbade39b1d88738a49fd31b4f97df0ab.zip frameworks_base-1c56a67dbbade39b1d88738a49fd31b4f97df0ab.tar.gz frameworks_base-1c56a67dbbade39b1d88738a49fd31b4f97df0ab.tar.bz2 |
MediaPlayer.TrackInfo: add getFormat() method
This returns the MediaFormat of the track or null (for now).
Change-Id: Ib88fc229b661942b2ed136204fdc43da427d7aed
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
Diffstat (limited to 'media/java')
-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()); } /** |