Bug 279485 - amarok trusts CDDB too much, bad audio CD info => cannot play
Summary: amarok trusts CDDB too much, bad audio CD info => cannot play
Status: RESOLVED WORKSFORME
Alias: None
Product: amarok
Classification: Unclassified
Component: Collections/CD (show other bugs)
Version: 2.7-git
Platform: Compiled Sources Linux
: NOR normal (vote)
Target Milestone: 2.8
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-05 21:26 UTC by Jonathan Marten
Modified: 2015-01-22 14:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Marten 2011-08-05 21:26:11 UTC
Version:           2.4-GIT (using Devel) 
OS:                Linux

Trying to play the audio CD "Led Zeppelin 'Remasters' CD 1" (http://www.amazon.co.uk/dp/B000026C3T)

This disc has 15 tracks, however at least one data set returned from the CDDB seems to be incorrect with not all of the tracks listed.  This means that the CD appears in the collection with only 13 tracks and there is no way to play the last two.

Browsing the CD using the audiocd: ioslave shows the following CDDB information:

- CDDB Information.txt --------------------
# Revision: 21
DISCID=d411160f
DTITLE=Led Zeppelin / Remasters CD 1 (Gold CD)
DYEAR=1990
DGENRE=Rock
TTITLE0=Communication Breakdown
TTITLE1=Babe I'm Gonna Leave You
TTITLE2=Good Times Bad Times
TTITLE3=Dazed And Confused
TTITLE4=Whole Lotta Love
TTITLE5=Heartbreaker
TTITLE6=Ramble On
TTITLE7=Immigrant Song
TTITLE8=Celebration Day
TTITLE9=Since I've Been Loving You
TTITLE10=Black Dog
TTITLE11=Rock & Roll
TTITLE12=The Battle Of Evermore
EXTD=
EXTT0=
EXTT1=
EXTT2=
EXTT3=
EXTT4=
EXTT5=
EXTT6=
EXTT7=
EXTT8=
EXTT9=
EXTT10=
EXTT11=
EXTT12=
PLAYORDER=
-------------------------------------------

- CDDB Information_3.txt ------------------
# Revision: 101
DISCID=d411160f
DTITLE=Led Zeppelin / Remasters CD 1
DYEAR=1990
DGENRE=Rock
TTITLE0=Communication Breakdown
TTITLE1=Babe I'm Gonna Leave You
TTITLE2=Good Times Bad Times
TTITLE3=Dazed And Confused
TTITLE4=Whole Lotta Love
TTITLE5=Heartbreaker
TTITLE6=Ramble On
TTITLE7=Immigrant Song
TTITLE8=Celebration Day
TTITLE9=Since I've Been Loving You
TTITLE10=Black Dog
TTITLE11=Rock And Roll
TTITLE12=The Battle Of Evermore
TTITLE13=Misty Mountain Hop
TTITLE14=Stairway To Heaven
EXTD= YEAR: 1990
EXTT0=
EXTT1=
EXTT2=
EXTT3=
EXTT4=
EXTT5=
EXTT6=
EXTT7=
EXTT8=
EXTT9=
EXTT10=
EXTT11=
EXTT12=
EXTT13=
EXTT14=
PLAYORDER=
-------------------------------------------

(CDDB Information_2.txt is for a completely different album with the same disc ID)


Reproducible: Always

Steps to Reproduce:
Attempt to play the audio CD as above in Amarok.


Actual Results:  
Only 13 tracks appear in collection

Expected Results:  
All 15 tracks should appear in collection


IMHO Amarok should not rely on the returned CDDB information for playing the CD - this can be arbitrary user-provided information which may well be incorrect.  What happens if there is no CDDB information available or no Internet connection?

There appears to be no way to select which CDDB data set should be used, in the case that multiple data sets are returned - Amarok always uses the first.

At the very least, it should perform a basic sanity check against the actual track count of the CD, and provide a default title for any or all that are missing so that they can be seen in the collection browser and played.
Comment 1 Myriam Schweingruber 2012-10-22 02:03:20 UTC
Moving to wishlist, as this was never implemented.
Comment 2 Matěj Laitl 2013-01-05 22:32:09 UTC
Git commit 67cab80dae61f0a72659558fa37e6b625aebfa3b by Matěj Laitl.
Committed on 05/01/2013 at 23:27.
Pushed by laitl into branch 'master'.

AudioCdCollection: refactor initialization, trackForUrl() + cleanups

Might also fix bug 279485, please test.

BUGFIXES:
 * Audio CD: fix track recreation on startup.
Related: bug 312685
FIXED-IN: 2.7

M  +1    -0    ChangeLog
M  +193  -211  src/core-impl/collections/audiocd/AudioCdCollection.cpp
M  +4    -4    src/core-impl/collections/audiocd/AudioCdCollection.h
M  +2    -6    src/core-impl/collections/audiocd/AudioCdMeta.cpp
M  +0    -1    src/core-impl/collections/audiocd/AudioCdMeta.h
M  +0    -4    src/core-impl/collections/audiocd/support/AudioCdConnectionAssistant.cpp
M  +6    -1    src/core-impl/collections/support/MemoryCollection.h

http://commits.kde.org/amarok/67cab80dae61f0a72659558fa37e6b625aebfa3b
Comment 3 Matěj Laitl 2013-03-03 13:01:23 UTC
This is not a wishlist item, but a possible bug.

Please test with Amarok 2.7 and report back, it may have been fixed by the above commit.
Comment 4 Jonathan Marten 2013-03-28 13:52:46 UTC
Still not the correct results using amarok-2.7git (v2.5.0-1277-g0420cdf).

The audio CD appears in the collection with the correct number of tracks, but with the track information from CDDB Information_2.txt, which is a different album (which just happens to have the same disc ID).  This can be seen at http://www.freedb.org/freedb_discid_check.php for disc ID d411160f.

Suppose that the general fix for situations such as this is to ask the user which is the appropriate result, in the case where the disc lookup returns multiple results.  IIRC the KDE3 program kscd did this.
Comment 5 Myriam Schweingruber 2013-03-28 17:02:23 UTC
Thank you for the feedback.
Comment 6 Myriam Schweingruber 2014-08-11 20:50:34 UTC
Could you  please test again? AFAIK current git contains the CD stack work of Tatjana, so this should be fixed.
Comment 7 Myriam Schweingruber 2015-01-22 14:59:46 UTC
Closing for lack of feedback. Please feel free to reopen if you can still reproduce this with current git master.