summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2013-08-15 12:05:52 -0700
committerLajos Molnar <lajos@google.com>2013-08-15 12:35:14 -0700
commit1c56a67dbbade39b1d88738a49fd31b4f97df0ab (patch)
tree99c0eb2ffdf678a3a2bbfbb30600aa51cb6403e9 /media
parentdc775c66bf52d998e6cc37a0ba1ec3b12607fac4 (diff)
downloadframeworks_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')
-rw-r--r--media/java/android/media/MediaPlayer.java30
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());
}
/**