feat(android): allow to disable selected functionalities (#3681)
* feat(android): add possibility do disable some of functionalities * create dump classes * remove dump files when functionalities are enabled * add docs * enable all functionalities in example * throw error when trying to use disabled functionality * update docs
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package androidx.media3.exoplayer.dash;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
public class DashMediaSource {
|
||||
public static class Factory implements MediaSource.Factory {
|
||||
|
||||
public Factory(DefaultDashChunkSource.Factory factory, DataSource.Factory factory1) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setDrmSessionManagerProvider(DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedTypes() {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,12 @@
|
||||
package androidx.media3.exoplayer.dash;
|
||||
|
||||
import android.net.Uri;
|
||||
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.dash.manifest.DashManifest;
|
||||
|
||||
public class DashUtil {
|
||||
public static DashManifest loadManifest(DataSource ds, Uri uri) {
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package androidx.media3.exoplayer.dash;
|
||||
|
||||
import androidx.media3.datasource.DataSource;
|
||||
|
||||
public class DefaultDashChunkSource {
|
||||
public static final class Factory {
|
||||
public Factory(DataSource.Factory mediaDataSourceFactory) {
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
package androidx.media3.exoplayer.dash.manifest;
|
||||
|
||||
import androidx.collection.CircularArray;
|
||||
import androidx.media3.common.C;
|
||||
|
||||
public class AdaptationSet {
|
||||
public int type = 0;
|
||||
public CircularArray<Representation> representations;
|
||||
|
||||
public AdaptationSet() {
|
||||
representations = null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
package androidx.media3.exoplayer.dash.manifest;
|
||||
|
||||
public class DashManifest {
|
||||
public DashManifest() {
|
||||
|
||||
}
|
||||
|
||||
public int getPeriodCount() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public Period getPeriod(int index) {
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
package androidx.media3.exoplayer.dash.manifest;
|
||||
|
||||
import androidx.collection.CircularArray;
|
||||
|
||||
public class Period {
|
||||
public CircularArray<AdaptationSet> adaptationSets;
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
package androidx.media3.exoplayer.dash.manifest;
|
||||
|
||||
import androidx.media3.common.Format;
|
||||
|
||||
public class Representation {
|
||||
public Format format;
|
||||
public long presentationTimeOffsetUs;
|
||||
|
||||
public Representation() {
|
||||
format = null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
package androidx.media3.exoplayer.hls;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
public class HlsMediaSource {
|
||||
public static class Factory implements MediaSource.Factory {
|
||||
public Factory(DataSource.Factory mediaDataSourceFactory) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setDrmSessionManagerProvider(DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedTypes() {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
package androidx.media3.exoplayer.rtsp;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
public class RtspMediaSource {
|
||||
public RtspMediaSource() {
|
||||
|
||||
}
|
||||
|
||||
public static class Factory implements MediaSource.Factory {
|
||||
@Override
|
||||
public MediaSource.Factory setDrmSessionManagerProvider(DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedTypes() {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
package androidx.media3.exoplayer.smoothstreaming;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
public class DefaultSsChunkSource {
|
||||
public static class Factory implements MediaSource.Factory {
|
||||
public Factory(DataSource.Factory mediaDataSourceFactory) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setDrmSessionManagerProvider(DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedTypes() {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
package androidx.media3.exoplayer.smoothstreaming;
|
||||
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.exoplayer.drm.DrmSessionManagerProvider;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy;
|
||||
|
||||
public class SsMediaSource {
|
||||
public static class Factory implements MediaSource.Factory {
|
||||
public Factory(DefaultSsChunkSource.Factory factory, DataSource.Factory factory1) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setDrmSessionManagerProvider(DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource.Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedTypes() {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user