Bug 133015 - Audio CD playing hangs for a short while on each track
Summary: Audio CD playing hangs for a short while on each track
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (other bugs)
Version First Reported In: 1.4.2
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-26 11:38 UTC by Christoph Neuroth
Modified: 2006-08-29 13:56 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Neuroth 2006-08-26 11:38:07 UTC
Version:            (using KDE KDE 3.5.4)
Installed from:    Ubuntu Packages
OS:                Linux

When using the AudioCD feature, after you start playing a track plays for like a second, then the sound hangs for a second or two, then the track plays through to the end. The bug will occur again on the next track.

It *does* happen on Kubuntu using unofficial 1.4.2 packages from http://imbrandon.com/packages
It does *not* happen on Archlinux using the official 1.4.1 packages (no 1.4.2 around yet), so it might be due to a change in 1.4.2 (probably dynamic collections, as markey suggestes).
It also does *not* happen using xine-ui so it's probably not a xine-lib Problem.
Comment 1 Mark Kretschmann 2006-08-26 11:41:02 UTC
I can confirm this. Also, playlist population takes extremely long, and in the meantime Amarok prints messages like these:

amarok: ERROR: : couldn't create slave : Unable to create io-slave:
klauncher said: Unknown protocol 'cdda'.
Comment 2 Mark Kretschmann 2006-08-29 13:56:26 UTC
SVN commit 578458 by markey:

Fix: AudioCD playback with xine-engine would stutter and freeze Amarok.

The problem was that Engine::metaDataForUrl() was called repeatedly (3 times) in CollectionDB::bundleForUrl(), while playback was already started. This blocked xine.

BUG: 133015


 M  +1 -0      ChangeLog  
 M  +0 -22     src/collectiondb.cpp  


--- trunk/extragear/multimedia/amarok/ChangeLog #578457:578458
@@ -12,6 +12,7 @@
     * Don't report "/dev/hd" style devices as new media devices. (BR 127831)
 
   BUGFIXES:
+    * AudioCD playback would stutter and sometimes freeze Amarok. (BR 133015)
     * DAAP client shows connection errors to the user and no longer says
       "Loading" perpetually. After a failed connection, the user can now
       try again.
--- trunk/extragear/multimedia/amarok/src/collectiondb.cpp #578457:578458
@@ -3463,28 +3463,6 @@
             bundle->copyFrom( peb );
             valid = true;
         }
-        else if( bundle->url().protocol() == "audiocd" || bundle->url().protocol() == "cdda" )
-        {
-            // try to see if the engine has some info about the
-            // item (the intended behaviour should be that if the
-            // item is an AudioCD track, the engine can return
-            // CDDB data for it)
-            Engine::SimpleMetaBundle smb;
-            if ( EngineController::engine()->metaDataForUrl( bundle->url(), smb ) )
-            {
-                valid = true;
-                bundle->setTitle( smb.title );
-                bundle->setArtist( smb.artist );
-                bundle->setAlbum( smb.album );
-                bundle->setComment( smb.comment );
-                bundle->setGenre( smb.genre );
-                bundle->setBitrate( smb.bitrate.toInt() );
-                bundle->setSampleRate( smb.samplerate.toInt() );
-                bundle->setLength( smb.length.toInt() );
-                bundle->setYear( smb.year.toInt() );
-                bundle->setTrack( smb.tracknr.toInt() );
-            }
-        }
     }
 
     return valid;