public MediaSource create(Options options,
Uri uri,
MediaSourceEventListener mediaSourceEventListener,
DefaultBandwidthMeter bandwidthMeter) {
DefaultDataSourceFactory defaultDataSourceFactory = createDataSourceFactory(bandwidthMeter);
switch (options.contentType()) {
case HLS:
return createHlsMediaSource(defaultDataSourceFactory, uri, mediaSourceEventListener);
case H264:
return createH264MediaSource(defaultDataSourceFactory, uri, mediaSourceEventListener);
case DASH:
return createDashMediaSource(defaultDataSourceFactory, uri, mediaSourceEventListener);
default:
throw new UnsupportedOperationException("Content type: " + options + " is not supported.");
}
}