3232import com .example .android .uamp .utils .LogHelper ;
3333import com .example .android .uamp .utils .MediaIDHelper ;
3434import com .google .android .exoplayer2 .DefaultLoadControl ;
35+ import com .google .android .exoplayer2 .DefaultRenderersFactory ;
3536import com .google .android .exoplayer2 .ExoPlaybackException ;
3637import com .google .android .exoplayer2 .ExoPlayerFactory ;
3738import com .google .android .exoplayer2 .PlaybackParameters ;
@@ -207,9 +208,10 @@ public void play(QueueItem item) {
207208 }
208209
209210 if (mExoPlayer == null ) {
210- mExoPlayer =
211- ExoPlayerFactory .newSimpleInstance (
212- mContext , new DefaultTrackSelector (), new DefaultLoadControl ());
211+ mExoPlayer = ExoPlayerFactory .newSimpleInstance (
212+ new DefaultRenderersFactory (mContext ),
213+ new DefaultTrackSelector (),
214+ new DefaultLoadControl ());
213215 mExoPlayer .addListener (mEventListener );
214216 }
215217
@@ -231,9 +233,11 @@ public void play(QueueItem item) {
231233 // Produces Extractor instances for parsing the media data.
232234 ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory ();
233235 // The MediaSource represents the media to be played.
236+ ExtractorMediaSource .Factory extractorMediaFactory =
237+ new ExtractorMediaSource .Factory (dataSourceFactory );
238+ extractorMediaFactory .setExtractorsFactory (extractorsFactory );
234239 MediaSource mediaSource =
235- new ExtractorMediaSource (
236- Uri .parse (source ), dataSourceFactory , extractorsFactory , null , null );
240+ extractorMediaFactory .createMediaSource (Uri .parse (source ));
237241
238242 // Prepares media to play (happens on background thread) and triggers
239243 // {@code onPlayerStateChanged} callback when the stream is ready to play.
0 commit comments