Skip to content

Failure to properly play a live stream #6537

@theboubougne

Description

@theboubougne

[REQUIRED] Issue description

When trying to play the following stream, I hear a description of the radio then it stops, however other players are starting to play the stream content right after the intro (MediaPlayer does, VLC does)
http://streaming.rolandradio.net:8000/rolandradio

[REQUIRED] Reproduction steps

I'm using the following code to initialize EXOPlayer

        DataSource.Factory factory =  new DefaultHttpDataSourceFactory(
                userAgent,
                null,
                DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
                DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS,
                true);
this.mediaSource = new ProgressiveMediaSource.Factory(factory).createMediaSource(uri);

[REQUIRED] Link to test content

Here's the URL to reproduce the issue: http://streaming.rolandradio.net:8000/rolandradio

[REQUIRED] A full bug report captured from the device

   this.player.addAnalyticsListener(new AnalyticsListener() {
          @Override
          public void onPlayerStateChanged(EventTime eventTime, boolean playWhenReady, int playbackState) {
              String stateString;
              switch (playbackState) {
                  case Player.STATE_IDLE:
                      stateString = "ExoPlayer.STATE_IDLE ";
                      break;
                  case Player.STATE_BUFFERING:
                      stateString = "ExoPlayer.STATE_BUFFERING";
                      infoListener.onInfo(null, android.media.MediaPlayer.MEDIA_INFO_BUFFERING_START, -1);
                      break;
                  case Player.STATE_READY:
                      stateString = "ExoPlayer.STATE_READY";
                      infoListener.onInfo(null, android.media.MediaPlayer.MEDIA_INFO_BUFFERING_END, -1);
                      if (isPreparing) {
                          isPreparing = false;
                          preparedListener.onPrepared(null);
                          // enabled when prepared
                              /*
                              if (downMixAudioProcessor != null && downMix) {
                                  downMixAudioProcessor.setEnabled(downMix);
                              }
                              */
                      }
                      break;
                  case Player.STATE_ENDED:
                      stateString = "ExoPlayer.STATE_ENDED";
                      completionListener.onCompletion(null);
                      break;
                  default:
                      stateString = "UNKNOWN_STATE";
                      break;
              }

LogHelper.d(TAG, "New  player state: " + stateString + ", playWhenReady: " + playWhenReady);
          }

This is returning the following log when the intro ends:
New player state: ExoPlayer.STATE_ENDED, playWhenReady: true

[REQUIRED] Version of ExoPlayer being used

2.10.5

[REQUIRED] Device(s) and version(s) of Android being used

Any device, but used a Pixel 3 XL on Android10 to debug

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions