GNOME Bugzilla – Bug 687674
typefinding: some WavPack files are mis-detected as AAC and fail to play
Last modified: 2012-11-12 12:27:04 UTC
Created attachment 228167 [details] Output of my gst-launch runs trying (and failing) to decode the file The GStreamer WavPack decoder plugin seems to fail to work on at least one file that should be valid WavPack, for all I know [1]. On Ubuntu 12.10, both 0.10.36 and 1.0.1 from the repositories are unable to decode this file. VLC 2.0.4 (on Windows) plays the file just fine. I've tried to decode the file using gst-launch-0.10 and -1.0 -- both using decodebin and wavpackdec explicitly -- and attached the output (as a separate text file since it got rather unwieldy). See [2] for the original issue. [1] https://bitbucket.org/fk/rgain/issue-attachment/9/fk/rgain/1352081151.38/9/06%20We%20were%20all%20scared..wv [2] https://bitbucket.org/fk/rgain/issue/9/hang-when-processing-this-file
This appears to be an issue with apedemux at first glance. This works fine: $ gst-launch-1.0 filesrc location=foo.wv ! audio/x-wavpack,framed=false ! wavpackparse ! wavpackdec ! pulsesink This also: $ head --bytes=4M foo.wv > foo-notag.wv $ gst-launch-1.0 playbin uri=file:///path/to/foo-notag.wv This does not strip the APE tag at the end, however: $ gst-launch-1.0 filesrc location=foo.wv ! apedemux ! filesink location=foo-notag.wv Possibly it doesn't handle the APE tag at the end correctly.
Actually, it's primarily a typefinding issue.
commit 61f04f1460922482cd28e8d22bead8e90dd53431 Author: Tim-Philipp Müller <tim@centricular.net> Date: Sun Nov 11 16:33:32 2012 +0000 typefinding: improve AAC LOAS typefinding Make AAC LOAS typefinding a bit more reliable; don't report a LIKELY probability already after just two sync points, but scan for a few more consecutive frames and determine probability based on how many we found. Fixes mis-detection of wavpack file. https://bugzilla.gnome.org/show_bug.cgi?id=687674 commit bccb3feebf303ea51cb6bfa4ee74bc1fb43a6eda Author: Tim-Philipp Müller <tim@centricular.net> Date: Sun Nov 11 20:04:40 2012 +0000 typefinding: improve wavpack typefinder Check for second block sync and return different probabilities depending on what we found (trumping the AAC loas typefinder's LIKELY probability after finding a second frame sync in this particular case). https://bugzilla.gnome.org/show_bug.cgi?id=687674 commit 20c9d2d2cc87b30b8e2334704dd3d9ceb75757ba Author: Tim-Philipp Müller <tim@centricular.net> Date: Sun Nov 11 19:44:31 2012 +0000 typefinding: fix block size calculation in wavpack typefinder The blocksize includes part of the header, just not the sync marker and the four size bytes. I'll look into the apedemux issue separately, it doesn't prevent the file from playing.