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

Unexpected ID3 file identifier, expected "ID3", actual "����". #2226

Closed
michalliu opened this issue Dec 19, 2016 · 5 comments
Closed

Comments

@michalliu
Copy link
Contributor

michalliu commented Dec 19, 2016

  • Please search the existing issues before filing a new one, including issues that
    are closed. When filing a new issue please include ALL of the following, unless
    you're certain that they're not useful for the particular issue being reported.

    The issue is confirmed not same as ParserException: Unexpected ID3 file identifier, expected "ID3", actual "%c%c%c". #1966

  • A description of the issue.
    When play some m3u8 it fails as titled. The ts file is playable through ffmpeg's ffplay program. The calling stack as follows:

com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.ParserException: Unexpected ID3 file identifier, expected "ID3", actual "�����".
                                                                               at com.google.android.exoplayer.metadata.MetadataTrackRenderer.doSomeWork(MetadataTrackRenderer.java:110)
                                                                               at com.google.android.exoplayer.SampleSourceTrackRenderer.doSomeWork(SampleSourceTrackRenderer.java:128)
                                                                               at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:432)
                                                                               at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:211)
  • Steps describing how the issue can be reproduced, ideally in the ExoPlayer
    demo app.
    play some specific ts file would fail

  • A link to content that reproduces the issue. If you don't wish to post it
    publicly, please submit the issue, then email the link to
    dev.exoplayer@gmail.com including the issue number in the subject line.

    ts samples. samples.zip

  • The version of ExoPlayer being used.
    exoplayer r1.5.13

  • The device(s) and version(s) of Android on which the issue can be reproduced,
    and how easily it reproduces. If possible, please test on multiple devices and
    Android versions.

    any android version

@ojw28
Copy link
Contributor

ojw28 commented Dec 19, 2016

Thanks for the detailed issue report. Unfortunately I'm unable to reproduce the issue. The sample content appears to play successfully in the demo app using r1.5.13 and r2.1.0. Are you certain that the attached content is problematic? Are you able to reproduce the issue with the demo app? Thanks!

@michalliu
Copy link
Contributor Author

@ojw28 Sorry, the previous sample can't reproduce the problem indeed. After one hour digging into the problem, Now i can conclude the test_hint1.ts somehow caused the error.

samples.zip

You may reproduce the problem using the official ExoPlayer Demo. find Samples.java, insert the following code around line 224

new Sample("Problem HLS", "/sdcard/samples/test.m3u8", Util.TYPE_HLS),

ofc, you need unzip the samples and run adb push samples /sdcard/

Thanks for help

@michalliu
Copy link
Contributor Author

BTW, Can we just simply ignore the ts if there is an exception? It seems ffmpeg won't stop the play if a single ts is failed.

@ojw28
Copy link
Contributor

ojw28 commented Dec 19, 2016

I think this issue occurs because the third segment randomly doesn't contain any audio (not even a silent audio track). Either that or the TS extractor isn't finding it. It's unclear whether this is valid within the HLS spec, even with a discontinuity insertion, but it's not something we've seen before and is not something we handle. I doubt we'll prioritize handling this case, either.

It does appear that V2 plays the sample without failure, but I'm unsure whether this is down to chance or it actually handling the case properly.

@michalliu
Copy link
Contributor Author

@ojw28 Thank you. I add a silent sound to the third segment, now the playback is working like a charm.

@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants