Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exoplayer plays the ads from a radio and then stops #5658

Closed
satyres opened this issue Mar 20, 2019 · 4 comments
Closed

Exoplayer plays the ads from a radio and then stops #5658

satyres opened this issue Mar 20, 2019 · 4 comments
Assignees

Comments

@satyres
Copy link

satyres commented Mar 20, 2019

Hi ,
this stream is working fine .
Radio Company Italyamo
https://ice03.fluidstream.net/companyitalia.mp3
when you start it ,it plays the audio ads from the station and then stops
when you tap again it starts playing fine.
why the stream won't play after the ads.
Regards

@tonihei
Copy link
Collaborator

tonihei commented Mar 20, 2019

There seem to be two issues here:

First issue is a bug in our implementation. It seems our recently added support for ICY metadata ignores that streams do not always start at position zero. The difference between the first and second iteration is that the first time we start at position zero and everything sounds fine. The second time, we do a seek back to position 0 which gets resolved to a non-zero stream position based on the XING seek map we already know. That's why we play distorted audio as we try to read the ICY metadata from the wrong places and play back the actual metadata as audio data. We'll provide a fix for that.

Second issue is that the mp3 contains a XING seek map which indicates that the stream ends after the initial ad. We introduced a special check as a result of #4954 which ensures we don't read beyond the end of the XING seek map. That's why we stop playing in this case instead of continuing with the rest of the stream. It seems unusual to define a seek map for the first part only and then stop supporting seeking. Do you control the content? If so, it may be worth removing it, as I don't think this stream is intended to be seekable at all.

@tonihei
Copy link
Collaborator

tonihei commented Mar 21, 2019

We are going to fix the first issue by disabling seeks entirely if ICY metadata is present, because they just don't together very well.

@satyres
Copy link
Author

satyres commented Mar 21, 2019

Thanks so much for taking time to explain and fix the issue
Best regards

ojw28 pushed a commit that referenced this issue Mar 22, 2019
Any seek map with non-zero offsets breaks playback with ICY metadata as
the metadata is no longer read from the correct position.

Issue:#5658
PiperOrigin-RevId: 239605839
@tonihei
Copy link
Collaborator

tonihei commented Mar 25, 2019

Closing the issue because the questions has been answered.

@tonihei tonihei closed this as completed Mar 25, 2019
@google google locked and limited conversation to collaborators Aug 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants