Skip track info extraction if startup movie on Android

#jira UE-70101
#ue4
#android
#rb Peter.Sauerbrei

#ROBOMERGE-SOURCE: CL 5092359 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5092361 by chris babcock in Main branch]
This commit is contained in:
chris babcock
2019-02-20 11:39:31 -05:00
parent ffabf60faa
commit 07b0bf9cb8
5 changed files with 16 additions and 14 deletions
@@ -30,6 +30,7 @@ public class MediaPlayer14
{
private boolean SwizzlePixels = true;
private boolean VulkanRenderer = false;
private boolean NeedTrackInfo = true;
private boolean Looping = false;
private boolean AudioEnabled = true;
private float AudioVolume = 1.0f;
@@ -82,10 +83,11 @@ public class MediaPlayer14
// ======================================================================================
public MediaPlayer14(boolean swizzlePixels, boolean vulkanRenderer)
public MediaPlayer14(boolean swizzlePixels, boolean vulkanRenderer, boolean needTrackInfo)
{
SwizzlePixels = swizzlePixels;
VulkanRenderer = vulkanRenderer;
NeedTrackInfo = needTrackInfo;
WaitOnBitmapRender = false;
AudioEnabled = true;
AudioVolume = 1.0f;
@@ -265,7 +267,7 @@ public class MediaPlayer14
setDataSource(UrlPath);
releaseOESTextureRenderer();
releaseBitmapRenderer();
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
MediaExtractor extractor = new MediaExtractor();
if (extractor != null)
@@ -384,7 +386,7 @@ public class MediaPlayer14
releaseOESTextureRenderer();
releaseBitmapRenderer();
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
MediaExtractor extractor = new MediaExtractor();
if (extractor != null)
@@ -432,7 +434,7 @@ public class MediaPlayer14
releaseOESTextureRenderer();
releaseBitmapRenderer();
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
MediaExtractor extractor = new MediaExtractor();
if (extractor != null)
@@ -474,7 +476,7 @@ public class MediaPlayer14
releaseOESTextureRenderer();
releaseBitmapRenderer();
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
MediaExtractor extractor = new MediaExtractor();
if (extractor != null)
@@ -1846,7 +1848,7 @@ public class MediaPlayer14
public AudioTrackInfo[] GetAudioTracks()
{
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
TrackInfo[] trackInfo = getTrackInfo();
int CountTracks = 0;
@@ -1922,7 +1924,7 @@ public class MediaPlayer14
public CaptionTrackInfo[] GetCaptionTracks()
{
if (android.os.Build.VERSION.SDK_INT >= 21)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 21)
{
TrackInfo[] trackInfo = getTrackInfo();
int CountTracks = 0;
@@ -1974,7 +1976,7 @@ public class MediaPlayer14
int Width = getVideoWidth();
int Height = getVideoHeight();
if (android.os.Build.VERSION.SDK_INT >= 16)
if (NeedTrackInfo && android.os.Build.VERSION.SDK_INT >= 16)
{
TrackInfo[] trackInfo = getTrackInfo();
int CountTracks = 0;
@@ -38,9 +38,9 @@ FAndroidMediaPlayer::FAndroidMediaPlayer(IMediaEventSink& InEventSink)
, bLooping(false)
, EventSink(InEventSink)
#if WITH_ENGINE
, JavaMediaPlayer(MakeShared<FJavaAndroidMediaPlayer, ESPMode::ThreadSafe>(false, FAndroidMisc::ShouldUseVulkan()))
, JavaMediaPlayer(MakeShared<FJavaAndroidMediaPlayer, ESPMode::ThreadSafe>(false, FAndroidMisc::ShouldUseVulkan(), true))
#else
, JavaMediaPlayer(MakeShared<FJavaAndroidMediaPlayer, ESPMode::ThreadSafe>(true, FAndroidMisc::ShouldUseVulkan()))
, JavaMediaPlayer(MakeShared<FJavaAndroidMediaPlayer, ESPMode::ThreadSafe>(true, FAndroidMisc::ShouldUseVulkan(), true))
#endif
, Samples(MakeShared<FMediaSamples, ESPMode::ThreadSafe>())
, SelectedAudioTrack(INDEX_NONE)
@@ -27,7 +27,7 @@ FAndroidMediaPlayerStreamer::FAndroidMediaPlayerStreamer()
: JavaMediaPlayer(nullptr)
, CurrentPosition(-1)
{
JavaMediaPlayer = MakeShareable(new FJavaAndroidMediaPlayer(false, FAndroidMisc::ShouldUseVulkan()));
JavaMediaPlayer = MakeShareable(new FJavaAndroidMediaPlayer(false, FAndroidMisc::ShouldUseVulkan(), false));
MovieViewport = MakeShareable(new FMovieViewport());
}
@@ -119,8 +119,8 @@ int32 FJavaAndroidMediaDataSource::ReadAt(int64 Position, uint8* Buffer, int32 C
/* JavaAndroidMediaPlayer
*****************************************************************************/
FJavaAndroidMediaPlayer::FJavaAndroidMediaPlayer(bool swizzlePixels, bool vulkanRenderer)
: FJavaClassObject(GetClassName(), "(ZZ)V", swizzlePixels, vulkanRenderer)
FJavaAndroidMediaPlayer::FJavaAndroidMediaPlayer(bool swizzlePixels, bool vulkanRenderer, bool needTrackInfo)
: FJavaClassObject(GetClassName(), "(ZZZ)V", swizzlePixels, vulkanRenderer, needTrackInfo)
, GetDurationMethod(GetClassMethod("getDuration", "()I"))
, ResetMethod(GetClassMethod("reset", "()V"))
, GetCurrentPositionMethod(GetClassMethod("getCurrentPosition", "()I"))
@@ -67,7 +67,7 @@ public:
};
public:
FJavaAndroidMediaPlayer(bool swizzlePixels, bool vulkanRenderer);
FJavaAndroidMediaPlayer(bool swizzlePixels, bool vulkanRenderer, bool needTrackInfo);
int32 GetDuration();
void Reset();
void Stop();