GNOME Bugzilla – Bug 753554
Make metadata retrieval cancellable
Last modified: 2015-08-17 13:13:48 UTC
This will stop the UI from showing state metadata if the disc is ejected while metadata is being retrieved.
Created attachment 309122 [details] [review] Make SjMetadata.list_albums() cancellable This will allow us to avoid unnecessary MusicBrainz queries. To simplify things for classes implementing this interface the wrapper ensures the vfunc is always called with a valid GCancellable and GError.
Created attachment 309123 [details] [review] Make SjMetadataMusicbraniz5.list_albums() cancellable This avoids unnecessary MusicBrainz queries if the disc is ejected or the drive is changed while a lookup is in progress.
Created attachment 309124 [details] [review] Make sj_metadata_getter_list_albums() cancellable This stops the UI from displaying stale disc information if the disc is ejected or the drive is changed while a lookup is in progress.
Created attachment 309125 [details] [review] Use sj_metadata_list_albums_async() in reread_cd() This is the final step in making metadata retrieval cancellable so that the UI does not display stale metadata if the disc is ejected or the drive changed during metadata retrieval.
Created attachment 309126 [details] [review] Use sj_metadata_list_albums_async() in mb-test
Created attachment 309127 [details] [review] Remove sj_metadata_list_albums() This is no longer needed as we use sj_metadata_list_albums_async() now.
Attachment 309122 [details] pushed as b6764bb - Make SjMetadata.list_albums() cancellable Attachment 309123 [details] pushed as c03f441 - Make SjMetadataMusicbraniz5.list_albums() cancellable Attachment 309124 [details] pushed as e76048d - Make sj_metadata_getter_list_albums() cancellable Attachment 309125 [details] pushed as 60d4b85 - Use sj_metadata_list_albums_async() in reread_cd() Attachment 309126 [details] pushed as 65822c1 - Use sj_metadata_list_albums_async() in mb-test Attachment 309127 [details] pushed as d343100 - Remove sj_metadata_list_albums()