GNOME Bugzilla – Bug 670854
FLAC encoder does not generate seek tables
Last modified: 2012-03-12 14:29:55 UTC
When ripping cds to FLAC, the generated flac files have no seek tables, which makes it impossible for players to seek within the track. Bug originally reported in Ubuntu: https://bugs.launchpad.net/ubuntu/+source/sound-juicer/+bug/515600
Indeed, the "seekpoints" property on flacenc defaults to 0. We get to pick either the number of points or the interval in seconds between points. How big can a seek table get, would it be reasonable to have a seek table with per-second items or should SJ be more granular and go for five second intervals?
teuf, you ported the encoder support for this. Do you know if this is this as simple as creating a flac stream profile in the .gep and setting seekable=-5?
I have no clue, I shamelessly stole this from Rhythmbox...
I've asked moch for more details 09:57 < teuf> hey moch, do you have any idea about https://bugzilla.gnome.org/show_bug.cgi?id=670854#c2 ? 09:58 < moch> I think it's a bit more complicated than that.. you have to create a preset for flacenc and set it as the default in the .gep file 10:05 < teuf> hmm ok 10:05 < teuf> presets would be http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPreset.html ? 10:06 < moch> you can create a preset with something like python -c 'import gst; e = gst.element_factory_make("flacenc"); e.props.seekpoints = -5; e.save_preset("sensible")' then put 'preset = sensible' in the flac section in the .gep 10:07 < teuf> maybe the default flac preset/profile should create seektables, dunno how much of an API break this would be in the gst people's eye 10:08 < moch> it sounds reasonable to me Looking at gstreamer code, it seems all that needs changing is DEFAULT_SEEKPOINTS which should be changed to -10 (default value for the command line 'flac' tool) in gstflacenc.c
I totally agree with fixing gstreamer.
GStreamer is now fixed in git.