diff options
| author | 2016-02-11 02:22:39 +0000 | |
|---|---|---|
| committer | 2016-02-11 02:22:39 +0000 | |
| commit | bfed18aa3ce7be44956f08344d183c5fdd9864b6 (patch) | |
| tree | d7f059ea18f08cfc3c105ebab14fe6a658777d7e | |
| parent | 9dcb85a0a6972f452df6a684f9cb839b8a5e62a8 (diff) | |
| parent | a2a0c735ffeab4bd8413ff139b70bce8056bfd72 (diff) | |
Merge "TIF: Add Active Format Description to TvTrackInfo" into nyc-dev
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | api/system-current.txt | 2 | ||||
| -rw-r--r-- | api/test-current.txt | 2 | ||||
| -rw-r--r-- | media/java/android/media/tv/TvTrackInfo.java | 44 |
4 files changed, 48 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt index 8edab677ba4b..6107169d8569 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23067,6 +23067,7 @@ package android.media.tv { method public final java.lang.String getId(); method public final java.lang.String getLanguage(); method public final int getType(); + method public final byte getVideoActiveFormatDescription(); method public final float getVideoFrameRate(); method public final int getVideoHeight(); method public final float getVideoPixelAspectRatio(); @@ -23086,6 +23087,7 @@ package android.media.tv { method public final android.media.tv.TvTrackInfo.Builder setDescription(java.lang.CharSequence); method public final android.media.tv.TvTrackInfo.Builder setExtra(android.os.Bundle); method public final android.media.tv.TvTrackInfo.Builder setLanguage(java.lang.String); + method public final android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte); method public final android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float); method public final android.media.tv.TvTrackInfo.Builder setVideoHeight(int); method public final android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float); diff --git a/api/system-current.txt b/api/system-current.txt index 54ddf49d879b..b2f9675a265f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -24852,6 +24852,7 @@ package android.media.tv { method public final java.lang.String getId(); method public final java.lang.String getLanguage(); method public final int getType(); + method public final byte getVideoActiveFormatDescription(); method public final float getVideoFrameRate(); method public final int getVideoHeight(); method public final float getVideoPixelAspectRatio(); @@ -24871,6 +24872,7 @@ package android.media.tv { method public final android.media.tv.TvTrackInfo.Builder setDescription(java.lang.CharSequence); method public final android.media.tv.TvTrackInfo.Builder setExtra(android.os.Bundle); method public final android.media.tv.TvTrackInfo.Builder setLanguage(java.lang.String); + method public final android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte); method public final android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float); method public final android.media.tv.TvTrackInfo.Builder setVideoHeight(int); method public final android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float); diff --git a/api/test-current.txt b/api/test-current.txt index 662650150ef9..1f64b5ed8021 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -23076,6 +23076,7 @@ package android.media.tv { method public final java.lang.String getId(); method public final java.lang.String getLanguage(); method public final int getType(); + method public final byte getVideoActiveFormatDescription(); method public final float getVideoFrameRate(); method public final int getVideoHeight(); method public final float getVideoPixelAspectRatio(); @@ -23095,6 +23096,7 @@ package android.media.tv { method public final android.media.tv.TvTrackInfo.Builder setDescription(java.lang.CharSequence); method public final android.media.tv.TvTrackInfo.Builder setExtra(android.os.Bundle); method public final android.media.tv.TvTrackInfo.Builder setLanguage(java.lang.String); + method public final android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte); method public final android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float); method public final android.media.tv.TvTrackInfo.Builder setVideoHeight(int); method public final android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float); diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java index ed432c463b8a..6a44b1e6e4e9 100644 --- a/media/java/android/media/tv/TvTrackInfo.java +++ b/media/java/android/media/tv/TvTrackInfo.java @@ -52,11 +52,14 @@ public final class TvTrackInfo implements Parcelable { private final int mVideoHeight; private final float mVideoFrameRate; private final float mVideoPixelAspectRatio; + private final byte mVideoActiveFormatDescription; + private final Bundle mExtra; private TvTrackInfo(int type, String id, String language, CharSequence description, int audioChannelCount, int audioSampleRate, int videoWidth, int videoHeight, - float videoFrameRate, float videoPixelAspectRatio, Bundle extra) { + float videoFrameRate, float videoPixelAspectRatio, byte videoActiveFormatDescription, + Bundle extra) { mType = type; mId = id; mLanguage = language; @@ -67,6 +70,7 @@ public final class TvTrackInfo implements Parcelable { mVideoHeight = videoHeight; mVideoFrameRate = videoFrameRate; mVideoPixelAspectRatio = videoPixelAspectRatio; + mVideoActiveFormatDescription = videoActiveFormatDescription; mExtra = extra; } @@ -81,6 +85,7 @@ public final class TvTrackInfo implements Parcelable { mVideoHeight = in.readInt(); mVideoFrameRate = in.readFloat(); mVideoPixelAspectRatio = in.readFloat(); + mVideoActiveFormatDescription = in.readByte(); mExtra = in.readBundle(); } @@ -179,6 +184,20 @@ public final class TvTrackInfo implements Parcelable { } /** + * Returns the Active Format Description (AFD) code of the video. + * Valid only for {@link #TYPE_VIDEO} tracks. + * + * <p>The complete list of values are defined in ETSI TS 101 154 V1.7.1 Annex B, ATSC A/53 Part + * 4 and SMPTE 2016-1-2007. + */ + public final byte getVideoActiveFormatDescription() { + if (mType != TYPE_VIDEO) { + throw new IllegalStateException("Not a video track"); + } + return mVideoActiveFormatDescription; + } + + /** * Returns the extra information about the current track. */ public final Bundle getExtra() { @@ -208,6 +227,7 @@ public final class TvTrackInfo implements Parcelable { dest.writeInt(mVideoHeight); dest.writeFloat(mVideoFrameRate); dest.writeFloat(mVideoPixelAspectRatio); + dest.writeByte(mVideoActiveFormatDescription); dest.writeBundle(mExtra); } @@ -238,6 +258,7 @@ public final class TvTrackInfo implements Parcelable { private int mVideoHeight; private float mVideoFrameRate; private float mVideoPixelAspectRatio = 1.0f; + private byte mVideoActiveFormatDescription; private Bundle mExtra; /** @@ -368,6 +389,25 @@ public final class TvTrackInfo implements Parcelable { } /** + * Sets the Active Format Description (AFD) code of the video. + * Valid only for {@link #TYPE_VIDEO} tracks. + * + * <p>This is needed for applications to be able to scale the video properly based on the + * information about where in the coded picture the active video is. + * The complete list of values are defined in ETSI TS 101 154 V1.7.1 Annex B, ATSC A/53 Part + * 4 and SMPTE 2016-1-2007. + * + * @param videoActiveFormatDescription The AFD code of the video. + */ + public final Builder setVideoActiveFormatDescription(byte videoActiveFormatDescription) { + if (mType != TYPE_VIDEO) { + throw new IllegalStateException("Not a video track"); + } + mVideoActiveFormatDescription = videoActiveFormatDescription; + return this; + } + + /** * Sets the extra information about the current track. * * @param extra The extra information. @@ -385,7 +425,7 @@ public final class TvTrackInfo implements Parcelable { public TvTrackInfo build() { return new TvTrackInfo(mType, mId, mLanguage, mDescription, mAudioChannelCount, mAudioSampleRate, mVideoWidth, mVideoHeight, mVideoFrameRate, - mVideoPixelAspectRatio, mExtra); + mVideoPixelAspectRatio, mVideoActiveFormatDescription, mExtra); } } } |