GNOME Bugzilla – Bug 551011
Use chapter info to get track durations
Last modified: 2018-05-24 13:37:06 UTC
It takes a _long_ time for all the tracks in a CD to appear in the UI. This should be pretty much instant when the TOC has been read. Either we need to use something other than GStreamer to get the duration of the tracks, or we need to use GStreamer differently.
It looks like a GStreamer solution to this is some way off, so until then it'd be good to have an alternative as long as it wasn't too weird a dependency and it actually made a noticeable difference.
Tim had a work-around he mentioned on IRC.
You *could* access this information by casting the source element to a GstCddaBaseSrc and then accessing the private section of that base classe's instance structure, e.g. something like: gst_tag_list_get_uint64 (GST_CDDA_BASE_SRC(src)->tracks[i].tags, GST_TAG_DURATION, &dur); Needs linking against libgstcdda-0.10 from -base and is of course a bit dodgy. If you don't want to do that and think this needs fixing sooner rather than later, some kind of gst_cdda_base_src_get_tags_for_track() could probably also been added.
(In reply to comment #3) > You *could* access this information by casting the source element to a > GstCddaBaseSrc and then accessing the private section of that base classe's > instance structure, e.g. something like: > > gst_tag_list_get_uint64 (GST_CDDA_BASE_SRC(src)->tracks[i].tags, > GST_TAG_DURATION, &dur); > > Needs linking against libgstcdda-0.10 from -base and is of course a bit dodgy. > If you don't want to do that and think this needs fixing sooner rather than > later, some kind of gst_cdda_base_src_get_tags_for_track() could probably also > been added. I'd rather use the hack than have you add API that you'll have to support for a long while. It's fine using the hack while bug 540890 is getting fixed.
Created attachment 118288 [details] [review] Be faster at listing CDs Much much faster indeed.
Leaving this opened to do it the proper way, as mentioned in blocker bug. 2008-09-09 Bastien Nocera <hadess@hadess.net> * configure.ac: * plugins/audiocd/Makefile.am: * plugins/audiocd/rb-audiocd-source.c (rb_audiocd_create_track_entry): Link against libgstcdda, and access the tags directly to get the duration of the tracks, avoids a lot of slow seeking on the CD, and makes loading CDs awfully fast (Helps: #551011)
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/620.