Merge "media: fix isSupportedFormat for integer frame rate"

This commit is contained in:
Lajos Molnar
2014-12-08 18:02:40 +00:00
committed by Gerrit Code Review

View File

@@ -973,7 +973,7 @@ public final class MediaCodecInfo {
}
private boolean supports(
Integer width, Integer height, Double rate) {
Integer width, Integer height, Number rate) {
boolean ok = true;
if (ok && width != null) {
@@ -985,7 +985,7 @@ public final class MediaCodecInfo {
&& (height % mHeightAlignment == 0);
}
if (ok && rate != null) {
ok = mFrameRateRange.contains(Utils.intRangeFor(rate));
ok = mFrameRateRange.contains(Utils.intRangeFor(rate.doubleValue()));
}
if (ok && height != null && width != null) {
ok = Math.min(height, width) <= mSmallerDimensionUpperLimit;
@@ -998,7 +998,7 @@ public final class MediaCodecInfo {
new Rational(widthInBlocks, heightInBlocks))
&& mAspectRatioRange.contains(new Rational(width, height));
if (ok && rate != null) {
double blocksPerSec = blockCount * rate;
double blocksPerSec = blockCount * rate.doubleValue();
ok = mBlocksPerSecondRange.contains(
Utils.longRangeFor(blocksPerSec));
}
@@ -1013,7 +1013,7 @@ public final class MediaCodecInfo {
final Map<String, Object> map = format.getMap();
Integer width = (Integer)map.get(MediaFormat.KEY_WIDTH);
Integer height = (Integer)map.get(MediaFormat.KEY_HEIGHT);
Double rate = (Double)map.get(MediaFormat.KEY_FRAME_RATE);
Number rate = (Number)map.get(MediaFormat.KEY_FRAME_RATE);
// we ignore color-format for now as it is not reliably reported by codec