After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687674 - typefinding: some WavPack files are mis-detected as AAC and fail to play
typefinding: some WavPack files are mis-detected as AAC and fail to play
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal normal
: 1.0.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-11-05 17:53 UTC by Felix Krull
Modified: 2012-11-12 12:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Output of my gst-launch runs trying (and failing) to decode the file (4.56 KB, text/plain)
2012-11-05 17:53 UTC, Felix Krull
Details

Description Felix Krull 2012-11-05 17:53:03 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
Comment 1 Tim-Philipp Müller 2012-11-06 23:18:59 UTC
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.
Comment 2 Tim-Philipp Müller 2012-11-11 16:18:13 UTC
Actually, it's primarily a typefinding issue.
Comment 3 Tim-Philipp Müller 2012-11-12 12:26:21 UTC
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.