[Bug 739354] program-c: loadpq broken on big-endian systems (makes gst volume tests fail for f64)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Nov 13 08:17:13 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=739354
  GStreamer | orc | git

Tim-Philipp Müller <t.i.m> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #2 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2014-11-13 16:17:09 UTC ---
commit 463295f6486badafa389008c0339386e2bf9d4c9
Author: Tim-Philipp Müller <tim at centricular.com>
Date:   Sat Nov 8 13:23:12 2014 +0000

    orcc: program-c: fix 64-bit parameter loading (loadpq) on big-endian
systems

    When passing 64-bit parameters through OrcExecutor, we
    have to split them up into two 32-bit parameters for
    backwards compatibility reasons. When generating C code,
    make sure that we split up 64-bit parameters in the same
    way as loadpq will read them back later. The lower 32 bits
    should end up in params[ORC_VAR_D1+i] and the higher bits
    should end up in params[ORC_VAR_T1+i]. The way it was done
    so far, the higher/lower bits ended up swapped on big endian
    systems, and then got deserialised in swapped order by loadpq.
    This resulted in bogus parameters being used.

    In particular, this broke the gstreamer volume element and
    its unit tests on big endian systems when handling samples
    in F64 format (i.e. doubles).

    https://bugzilla.gnome.org/show_bug.cgi?id=739354

-- 
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