summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2013-08-20 18:23:12 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-20 18:23:12 +0000
commita3132d975b218b3d973711ebf347da3c433a9afb (patch)
tree49d9d1deff1b6a011ae9efda3ca76049f0397af8 /media
parentf23993fb52bd88c8512588c8a2cb0a53fecb2cf2 (diff)
parent1c56a67dbbade39b1d88738a49fd31b4f97df0ab (diff)
downloadframeworks_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.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());
}
/**