Bug 139299

Summary: Amarok (taglib) fails to tag .ra (realaudio) files
Product: [Applications] amarok Reporter: Ariel <ubuntu>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED NOT A BUG    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Old (liba52) RealAudio format file

Description Ariel 2006-12-28 04:05:13 UTC
Version:           1.4 (using KDE KDE 3.5.5)
Installed from:    Ubuntu Packages
OS:                Linux

[ I was asked to open a separate bug for this.  Obliging.
  This description is partially copied from bug 106474 ] 

I had some .ra (RealAudio) files in my music tree which amarok cannot tag due to the TagLib library not supporting them.  That's OK.  I don't care.

However, amarok aborts in the middle of "scanning collection" saying there are "too many errors".

It would be much nicer if it could simply continue building the collection and just skip those files it cannot tag (e.g. unsupported formats like .ra).  Aborting is way too fussy/harsh, especially when the failures have a recognizable unsupported format.

I'll be attaching an example .ra file. It is a very old format playable with mplayer with this codec:

-------------- output from mplayer 2:0.99+1.0pre8-0ubuntu8
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
AC3: 2.0 (stereo)  8000 Hz  20.0 kbit/s
Using MMX optimized resampler
AUDIO: 8000 Hz, 2 ch, s16le, 20.0 kbit/7.81% (ratio: 2500->32000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
-------------------------------------------------------------
Comment 1 Ariel 2006-12-28 04:09:16 UTC
Created attachment 19052 [details]
Old (liba52) RealAudio format file

mplayer: audio decoder: [liba52] AC3 decoding with liba52
Comment 2 Martin Aumueller 2006-12-28 18:33:05 UTC
Unfortunately I'm unable to make Amarok crash when showing the tags of this file. Do you happen to have one which makes Amarok crash?
Comment 3 Ariel 2006-12-28 21:47:24 UTC
Sorry if I was not clear enough.
To clarify. amarok does _not_ crash on this.
It just fails to tag '.ra' files and gives up on scanning the collection.

On a separate note:
I think the
    if (>5% failure ratio) then give-up

solution is misguided also.

The best solution is to definitely log all failures (and report to the user as amarok is doing) but continue the scan till all the collection is scanned.

I think there's no good reason to give up in the middle because some unsupported files exist in the collection, 5%, 10% even 50% is ok.  The user just wants files tagged, even if there's a small success ratio the tagging is still useful.

Just my personal preference. Thanks.

Comment 4 Martin Aumueller 2006-12-28 22:26:57 UTC
SVN commit 617355 by aumuell:

don't crash when encountering files with no tags during collection scan
CCBUG: 139299


 M  +1 -1      collectiondb.cpp  


--- trunk/extragear/multimedia/amarok/src/collectiondb.cpp #617354:617355
@@ -3404,7 +3404,7 @@
         fillInBundle( values, *bundle );
         valid = true;
     }
-    else if( MediaBrowser::instance()->getBundle( bundle->url(), bundle ) )
+    else if( MediaBrowser::instance() && MediaBrowser::instance()->getBundle( bundle->url(), bundle ) )
     {
         valid = true;
     }
Comment 5 Martin Aumueller 2006-12-28 22:29:38 UTC
Thanks very much for clearing up the misunderstanding.

The reason why we don't continue indefinetely when errors are encountered until all the collection has been scanned is, that installation errors might be the real cause of the problem. And then it's no use wasting any additional time.