update exoplayer to allow pre-init and content clear
This commit is contained in:
@@ -465,6 +465,7 @@ class ReactExoplayerView extends FrameLayout implements
|
||||
player.prepare(mediaSource, !haveResumePosition, false);
|
||||
playerNeedsSource = false;
|
||||
|
||||
reLayout(exoPlayerView);
|
||||
eventEmitter.loadStart();
|
||||
loadVideoStarted = true;
|
||||
}
|
||||
@@ -1012,7 +1013,6 @@ class ReactExoplayerView extends FrameLayout implements
|
||||
|
||||
public void setSrc(final Uri uri, final String extension, Map<String, String> headers) {
|
||||
if (uri != null) {
|
||||
boolean isOriginalSourceNull = srcUri == null;
|
||||
boolean isSourceEqual = uri.equals(srcUri);
|
||||
|
||||
this.srcUri = uri;
|
||||
@@ -1022,12 +1022,23 @@ class ReactExoplayerView extends FrameLayout implements
|
||||
DataSourceUtil.getDefaultDataSourceFactory(this.themedReactContext, bandwidthMeter,
|
||||
this.requestHeaders);
|
||||
|
||||
if (!isOriginalSourceNull && !isSourceEqual) {
|
||||
if (!isSourceEqual) {
|
||||
reloadSource();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearSrc() {
|
||||
if (srcUri != null) {
|
||||
player.stop(true);
|
||||
this.srcUri = null;
|
||||
this.extension = null;
|
||||
this.requestHeaders = null;
|
||||
this.mediaDataSourceFactory = null;
|
||||
clearResumePosition();
|
||||
}
|
||||
}
|
||||
|
||||
public void setProgressUpdateInterval(final float progressUpdateInterval) {
|
||||
mProgressUpdateInterval = progressUpdateInterval;
|
||||
}
|
||||
@@ -1038,14 +1049,13 @@ class ReactExoplayerView extends FrameLayout implements
|
||||
|
||||
public void setRawSrc(final Uri uri, final String extension) {
|
||||
if (uri != null) {
|
||||
boolean isOriginalSourceNull = srcUri == null;
|
||||
boolean isSourceEqual = uri.equals(srcUri);
|
||||
|
||||
this.srcUri = uri;
|
||||
this.extension = extension;
|
||||
this.mediaDataSourceFactory = buildDataSourceFactory(true);
|
||||
|
||||
if (!isOriginalSourceNull && !isSourceEqual) {
|
||||
if (!isSourceEqual) {
|
||||
reloadSource();
|
||||
}
|
||||
}
|
||||
|
@@ -144,6 +144,7 @@ public class ReactExoplayerViewManager extends ViewGroupManager<ReactExoplayerVi
|
||||
Map<String, String> headers = src.hasKey(PROP_SRC_HEADERS) ? toStringMap(src.getMap(PROP_SRC_HEADERS)) : null;
|
||||
|
||||
if (TextUtils.isEmpty(uriString)) {
|
||||
videoView.clearSrc();
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user