ExoPlayer2 - Как я могу заставить перенаправление HTTP 301 работать?

Я начал использовать ExoPlayer для потоковой передачи аудио. Все было хорошо, пока я не наткнулся на URL с перенаправлением «301 Moved Permanently». ExoPlayer2 не обрабатывает это по умолчанию.

Я уже видел эту тему:https://github.com/google/ExoPlayer/issues/423

Там говорят, что нужно добавить новый флаг «allowCrossDomainRedirects» в HttpDataSource или UriDataSource. Проблема в том, что я не использую ни один из этих классов:

//I am NOT using SimpleExoPlayer because I need a different renderer.
exoPlayer = ExoPlayerFactory.newInstance(renderers, trackSelector, loadControl);

final DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(
            context,
            Util.getUserAgent(context, applicationInfo.getAppName())
);

// Produces Extractor instances for parsing the media data.
final ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();

// This is the MediaSource representing the media to be played.
MediaSource mediaSource = new ExtractorMediaSource(
            Uri.parse(media.getUriString()) /* uri */,
            dataSourceFactory,
            extractorsFactory,
            10,
            null /* eventHandler */,
            null /* eventListener */);

exoPlayer.prepare(mediaSource);

Посмотрите, как ExtractorMediaSource требует dataSourceFactory вместо DataSource. На самом деле я даже не могу найти классы HttpDataSource и UriDataSource на ExoPlayer2. Похоже, они были удалены.

Поэтому я не могу найти способ добавить флаг, упомянутый в сообщении. Кто-нибудь может мне помочь?

Ответы на вопрос(1)

Ваш ответ на вопрос