Bug#668837: gstreamer0.10-plugins-good: GStreamer stops decoding in the middle of a flac
Jason Rhinelander
jagerman at jagerman.com
Tue Jun 5 22:52:01 UTC 2012
I'm seeing the same issue (though I can't distribute the FLAC in
question), using the latest sid version (0.10.31-3).
I did a little more debugging on this; using gstreamer0.10-tools, this
command reproduces the error, with the gstreamer debugging suggesting a
problem:
gst-launch-0.10 --gst-debug-level=2 filesrc
location=10-machinae_supremacy-cryosleep.flac ! flacparse ! flacdec !
pulsesink
Just before the track finishes prematurely, there's this:
0:00:58.040476180 4864 0x148dad0 WARN flacparse
gstflacparse.c:576:gst_flac_parse_frame_header_is_valid:<flacparse0>
Block size is not constant
0:00:58.040721771 4864 0x148dad0 WARN flacdec
gstflacdec.c:419:gst_flac_dec_scan_got_frame:<flacdec0> Variable block
size FLAC unsupported
0:00:58.040971058 4864 0x148dad0 WARN flacparse
gstflacparse.c:576:gst_flac_parse_frame_header_is_valid:<flacparse0>
Block size is not constant
The last one gets repeated a few thousand times, then playback stops.
For my file I get the same errors and result. For both Anton's file and
my file, the FLAC has no errors or warnings when run with flac -t, and
plays perfectly with non-gstreamer players.
(Note that replacing the final "pulsesink" in the above command with
"fakesink" lets you see the errors without having to wait 58 seconds).
I tried analyzing both FLAC files using ``flac -a filename.flac'', for
both my file and Anton's file. The resulting .ana analysis file shows
that every frame except the very last one has blocksize=4096, so the
error appears at least misleading, perhaps indicating some flac decoding
or parsing error in gstreamer.
I also tried installing the gstreamer1.0 packages, and trying the above
with gst-launch-1.0; exactly the same errors occurred.
After reading Anton's suggestion that he thinks it was working a couple
months ago, I tried installing 0.10.30-2.1, but that still has the
problem (though the "Block size is not constant" error doesn't get
reported--that check was added upstream since then).
Jason Rhinelander
More information about the pkg-gstreamer-maintainers
mailing list