albertz / music-player

Music player - endlessly plays your music
http://albertz.github.io/music-player/
BSD 2-Clause "Simplified" License
492 stars 59 forks source link

songs skipped #32

Closed christophmluscher closed 11 years ago

christophmluscher commented 11 years ago

hey, i noticed that sometimes songs are skipped. the song gets played to up to may 2 sec and then MusicPlayer skips to the next song.

hello there
Error, argparse not available. This needs Python >=2.7.
MusicPlayer 1.0 from 2013-03-12 19:46:21 +0000 git-ref 1d9c2eaed7 on MacOSX (darwin)
startup on 2013-03-25 09:47:24 +0000
Module player
Module queue
Module tracker
Module tracker_lastfm
Module mediakeys
Module gui
Module stdinconsole
Module socketcontrol
Module mpdBackend
Module notifications
Module preloader
Module songdb
icon.icns not found
entering GUI main loop
AppDelegate didFinishLaunching
socketcontrol: listening on /var/folders/z3/wpry74bd23d6q0tl_wqn0m8c0000gn/T/com.albertzeyer.MusicPlayer-539-socketcontrol
* loaded access token
mpdBackend listening on 127.0.0.1:6600
setupAfterAppFinishedLaunching ready
error on updating song: Song(06 Invincible.mp3) , replaygain: too less data
Error, argparse not available. This needs Python >=2.7.
ExecingProcess child create search index worker process (pid 547)
ExecingProcess child create search index worker process (pid 547) finished
new song: Various - Rock me, 07:11, mp3, 313 kbit/s, 16.5 MB
new song: Muse - Invincible, 05:00, mp3, 125 kbit/s, 4.58 MB
new song: freeze-dried Rockers - Dangerous, 04:37, mp3, 187 kbit/s, 6.34 MB

It skipped Muse - Invincible. In the main GUI the song info seems to be garbled. I tested playing in iTunes that worked without a problem.

BTW what is the Error, argparse not available. This needs Python >=2.7.

albertz commented 11 years ago

What does garbled mean? Screenshot? (Btw., use Markdown for proper formatting of log output. Enclose everything by ```.)

christophmluscher commented 11 years ago

A few other songs were also skipped but the information in the GUI were displayed correctly. In iTunes the song information is correctly displayed.

Song: Muse - Invincible

garbled, something like invalid.

albertz commented 11 years ago

Ah, yea, that is what I have guessed. I also see this. I think #29 is related, although that particular bug seems gone. (Btw., you can show more details with the song edit window).

Not exactly sure on this yet...

christophmluscher commented 11 years ago

ah here:

Song Edit: Muse - Invincible

hope this helps at least a bit.

christophmluscher commented 11 years ago

hey, I think I found the reason. the mp3 seemed to be corrupted because I reencoded it (itunes converter) and now the song is not skipped anymore. so the problem seemed to be the song file. although I am not sure why itunes played the song and musicplayer did not. better error correction for corrupted or faulty files?

albertz commented 11 years ago

Not sure. That doesn't mean that the mp3 was corrupted before. Anyway, this music player should be able to play it. There is some bug somewhere.

albertz commented 11 years ago

I have a small sample file. It works in 13f2f32c07f4ac2120315000685ea838693c7de3. I'm Git bisecting now...

albertz commented 11 years ago

2b33c1972e7f3b1fb7313b3b6e165875afb17bc3 is the first bad commit

commit 2b33c1972e7f3b1fb7313b3b6e165875afb17bc3
Author: Albert Zeyer <albert.zeyer@rwth-aachen.de>
Date:   Tue Feb 12 00:54:36 2013 +0100

    ffmpeg: early break on broken audio files

:100644 100644 07417983998628d87cfe7c77d4f8c55dfe4b68e6 ff7df9fa6c13a378bf4eb47383ec2bc20eca8ef1 M  ffmpeg_player_decoding.cpp

Log:

git bisect start
# bad: [56e72b860df965cd1fe0ec4be9a020779a2dee9c] stupid fix
git bisect bad 56e72b860df965cd1fe0ec4be9a020779a2dee9c
# good: [13f2f32c07f4ac2120315000685ea838693c7de3] mac build copy script
git bisect good 13f2f32c07f4ac2120315000685ea838693c7de3
# bad: [4033e52ff267b39a9a5d6726148dca462262b998] test_ffmpeg: enable ffmpeg debug log
git bisect bad 4033e52ff267b39a9a5d6726148dca462262b998
# good: [f9eea959524d1623a2ba057f8a198a204e746060] cleanup
git bisect good f9eea959524d1623a2ba057f8a198a204e746060
# good: [d6f925aeedad60d0e3060a29314b47003ad05f85] dont spam with debug warnings
git bisect good d6f925aeedad60d0e3060a29314b47003ad05f85
# bad: [fd935f4d8cb1e774f52c22d0f31ed119e392399e] preloader: reloadPeekStreams
git bisect bad fd935f4d8cb1e774f52c22d0f31ed119e392399e
# good: [88fe707f3f071d52cf5ca291b1d4d57f7d45c70c] stupid fixes
git bisect good 88fe707f3f071d52cf5ca291b1d4d57f7d45c70c
# good: [e9c1f073281bc301b6a0ee41aab68108f9ea7087] mac: PySys_SetArgvEx
git bisect good e9c1f073281bc301b6a0ee41aab68108f9ea7087
# bad: [2b33c1972e7f3b1fb7313b3b6e165875afb17bc3] ffmpeg: early break on broken audio files
git bisect bad 2b33c1972e7f3b1fb7313b3b6e165875afb17bc3
# good: [4a28d2c69e9922df2f1b86572fcf55615d439ac3] test_ffmpeg.py: also use sys.argv
git bisect good 4a28d2c69e9922df2f1b86572fcf55615d439ac3