[Bug 727975] [adpcmdec] WAV IMA ADPCM files don't get decoded correctly

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Apr 14 22:58:23 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=727975
  GStreamer | gst-plugins-bad | 1.2.1

Harish Jenny K N <harishjennykn> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |harishjennykn at yahoo.com

--- Comment #1 from Harish Jenny K N <harishjennykn at yahoo.com> 2014-04-15 05:58:21 UTC ---
Initially Bitrate is calculated correctly  as 4055 and then it gets changed to
8126 in the following location - 
riff-media.c ( gst_riff_create_audio_caps function ) 


case GST_RIFF_WAVE_FORMAT_DVI_ADPCM:
        /* Many encoding tools create a wrong bitrate information in the
         * header, so either we calculate the bitrate or mark it as invalid
         * as this would probably confuse timing */
        strf->av_bps = 0;
        if (strf->channels != 0 && strf->rate != 0 && strf->blockalign != 0) {
          int spb = ((strf->blockalign - strf->channels * 4) / 2) * 2;
          strf->av_bps =
              gst_util_uint64_scale_int (strf->rate, strf->blockalign, spb);
          GST_DEBUG ("fixing av_bps to calculated value %d of IMA DVI ADPCM",
              strf->av_bps);
        }
      }


In this case , the channel is 1 , rate is 8000 and blockalign is 256
spb becomes 252
av_bps becomes 8126

The timestamp is calculated based on BPS.

Example gst debug log- 
0:00:00.041163544  1480  0x848a230 INFO                wavparse
gstwavparse.c:695:gst_wavparse_calculate_duration:<wavparse0> Got duration
(bps) 0:00:05.009106572

Hence the behaviour!

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list