Update TrackNameProvider.java

pull/505/head
okjack 2 years ago
parent 3ed8c7e1d3
commit 9e28351104
  1. 9
      app/src/main/java/com/fongmi/android/tv/player/custom/TrackNameProvider.java
  2. 6
      ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
  3. 2
      ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
  4. 7
      ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java

@ -35,7 +35,7 @@ public class TrackNameProvider {
} else {
trackName = joinWithSeparator(buildLanguageString(format), buildLabelString(format));
}
return TextUtils.isEmpty(trackName) ? resources.getString(R.string.exo_track_unknown) : joinWithSeparator(trackName, buildMimeString(format));
return TextUtils.isEmpty(trackName) ? resources.getString(R.string.exo_track_unknown) : joinWithSeparator(trackName, buildFrameRateString(format.frameRate), buildMimeString(format));
}
public String getTrackName(ITrackInfo trackInfo) {
@ -48,7 +48,7 @@ public class TrackNameProvider {
} else {
trackName = joinWithSeparator(buildLanguageString(trackInfo.getLanguage()));
}
return TextUtils.isEmpty(trackName) ? resources.getString(R.string.exo_track_unknown) : joinWithSeparator(trackName, buildMimeString(trackInfo.getMimeType()));
return TextUtils.isEmpty(trackName) ? resources.getString(R.string.exo_track_unknown) : joinWithSeparator(trackName, buildFrameRateString(trackInfo.getFps()), buildMimeString(trackInfo.getMimeType()));
}
private String buildResolutionString(Format format) {
@ -148,6 +148,11 @@ public class TrackNameProvider {
return C.TRACK_TYPE_UNKNOWN;
}
private String buildFrameRateString(float frameRate) {
if (frameRate <= 0) return "";
return (int) Math.floor(frameRate) + "FPS";
}
private String buildMimeString(Format format) {
if (format.sampleMimeType == null) return "";
return buildMimeString(format.sampleMimeType);

@ -100,4 +100,10 @@ public class AndroidTrackInfo implements ITrackInfo {
public void setTrackType(int trackType) {
mTrackType = trackType;
}
@Override
public float getFps() {
if (mTrackInfo == null || mTrackInfo.getFormat() == null) return 0;
return mTrackInfo.getFormat().getFloat(MediaFormat.KEY_MAX_FPS_TO_ENCODER);
}
}

@ -37,4 +37,6 @@ public interface ITrackInfo {
int getWidth();
int getHeight();
float getFps();
}

@ -101,4 +101,11 @@ public class IjkTrackInfo implements ITrackInfo {
public void setTrackType(int trackType) {
mTrackType = trackType;
}
@Override
public float getFps() {
if (mStreamMeta == null) return 0;
if (mStreamMeta.mFpsNum == 0 || mStreamMeta.mFpsDen == 0) return 0;
return mStreamMeta.mFpsNum / mStreamMeta.mFpsDen;
}
}

Loading…
Cancel
Save