Open muzichen opened 6 years ago
I have the same issue. Some of my MP3's had some garbage at the end of the file. Which Chrome seemed to play just fine before version 64. I had to fix it with a tool called 'mp3val'. Use it like:
mp3val -f yourmp3file.mp3
It wil try to fix your MP3. I actually do it on the fly, so I dont have to fix them all by hand. It certainly is not a jPlayer bug.
What kind of "garbage" - screenshot please?
Hey Oleg,
I can't find a quick example of the 'garbage'.
https://developers.google.com/web/updates/2017/12/chrome-63-64-media-updates see Frank Cheng's comment on this blog post. It also has an answer with related bugs. There is where I also got the mp3val fix from. The 'fix' (with mp3val -f file.mp3) does actually not work with every file. So I have to put people on Firefox (no issues there).
All I can find in the bug reports that it is a bug in the ffmpeg library, and it will maybe fixed in Chrome 66. See https://bugs.chromium.org/p/chromium/issues/detail?id=794782&q=ape%20tag&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified
Tags are called 'garbage/junk' in this topic, FFMPEG should remove this for playback, but does not remove the APE tag junk and results in an error. Guess we will have to wait till April 17th when this will be fixed (release date of Chrome 66).
This is the error I see in chrome://media-internals
PIPELINE_ERROR_DECODE
Another thing I found out it also has something to do with a APEv2 tag, which is in a lot of my mp3 files. If I remove it, onEnded event is called properly. Now I just have to find a CLI tool to remove this tag. There is not a lot of information about it. I removed it with a tool called mp3tag, which can be found at mp3tag.de
@minardus, I just wanted to stop by with a huge thank you. 1000 internets to you.
I was banging my head against this for 2 hours before I found this. Following your advice of removing the tags with mp3tag and repairing through mp3val and I am back in business.
Thanks again!
Thank you so much @minardus! I guess all the hopes on Chrome 66. I cannot apply the use of the tool you found ( too late for me now, had to use it before I uploaded thousands of .mp3s to my host and they all now have custom tags assigned to each, it will be humongous recovery job in case something gets erased :) Actually it is strange as to why would some of the files become corrupted - I personally check each one of them (from beginning to end) and run bit rate converter with every tags eraser option), only then I upload. Well thanks anyway - seems like you know shit! :)) This is the error I am getting sometimes:
02-27 11:14:21.151: E/chromium(14488): [ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"Failed to send audio packet for decoding: timestamp=245498776 duration=26122 size=350 side_data_size=0 is_key_frame=1 encrypted=0 discard_padding (ms)=(0, 0)"} 02-27 11:14:21.152: E/chromium(14488): [ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"audio decode error"} 02-27 11:14:21.231: E/chromium(14488): [ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"audio error during playing, status: PIPELINE_ERROR_DECODE"} 02-27 11:14:21.232: E/chromium(14488): [ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"audio error during playing, status: PIPELINE_ERROR_DECODE"} 02-27 11:14:21.233: E/chromium(14488): [ERROR:render_media_log.cc(30)] MediaEvent: PIPELINE_ERROR PIPELINE_ERROR_DECODE
I just updated chrome and found that the new chrome can not listen jplayer's $.jPlayer.event.ended event. Does anyone face the same issue?