Skip to content

Mach1Transcode prebuilt macOS libs: format lookup fails (source build works) #11

Description

@mkschulze

Hi,

It seems there is a mismatch or an issue with the prebuilt libs. Thanks for looking in!

Summary

When linking against the prebuilt macOS Mach1Transcode static libs, format lookup fails (getFormatFromString() returns 0) and processConversionPath() returns false. The exact same code works when the SDK is built from source, so this appears to be a prebuilt‑lib mismatch or out‑of‑sync issue.

Environment

  • OS: macOS 14.5 (Build 23F79)
  • Compiler: Apple clang 16.0.0 (clang-1600.0.26.6)
  • Developer tools: Command Line Tools (/Library/Developer/CommandLineTools)
  • Mach1 SDK: 1458dca
  • Prebuilt libs path: libs/mach1-sdk/examples/mach1spatial-c/ios/Pod-Mach1SpatialAPI/Mach1SpatialAPI/Lib/osx
  • Also tested: SDK built from source (works)

Steps to Reproduce

  1. Link against the prebuilt macOS Mach1Transcode static libs.
  2. Run this minimal program:
#include <Mach1Transcode.h>

int main() {
    Mach1Transcode<float> t;
    int in = t.getFormatFromString("Stereo");
    int out = t.getFormatFromString("M1Spatial-8");
    printf("in=%d out=%d\n", in, out);
    t.setInputFormat(in);
    t.setOutputFormat(out);
    bool ok = t.processConversionPath();
    printf("processConversionPath=%d\n", ok);
    return 0;
}

Actual Behavior

  • getFormatFromString() returns 0 for known formats (e.g., "Stereo", "5.1_C", "M1Spatial-8").
  • processConversionPath() returns false.
  • processConversion() is therefore unusable.

Expected Behavior

  • getFormatFromString() should return valid format indices.
  • processConversionPath() should return true for valid in/out formats.
  • Transcode should produce correct output.

Additional Evidence

  • Building Mach1 SDK from source fixes the problem: getFormatFromString() returns valid indices and processConversionPath() succeeds.
  • Suggests prebuilt macOS libs are out of sync with headers (or format database not initialized / ABI mismatch).

Workaround

Build Mach1 SDK from source and link M1Encode, M1Transcode, M1Decode directly. This works reliably.

Request

Please update/replace the prebuilt macOS Mach1Transcode libs so format lookup and conversion paths work as expected.

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions