Skip to content

Use of CGO in this repository #98

@mengelbart

Description

@mengelbart

With #97 we now have a dependency on mediadevices and vpx, which requires CGO. This is not a problem for the applications/tests in this repository, but it is an issue if we want to move bandwidth estimation algorithms here, too. I would like to make sure the module that users need to depend on for using Pion's bandwidth estimation does not require them to use CGO. #97 also broke compilation for my on Fedora because the vpx package cannot be found, even though libvpx is installed:

# github.com/pion/mediadevices/pkg/codec/vpx
# [pkg-config --cflags  -- vpx vpx]
Package vpx was not found in the pkg-config search path.
Perhaps you should add the directory containing `vpx.pc'
to the PKG_CONFIG_PATH environment variable
Package 'vpx' not found
Package 'vpx' not found

I see two options for solving this:

  1. Use build tags to disable CGO so users can compile even if they don't use CGO or have missing dependencies. I am not sure this is a good solution, since it still requires users to pull in dependencies like mediadevices.
  2. Create a new repository called bwe and leave this repository as a test-only repository (see also Rename repository to BWE? #88 and Move GCC rewrite from interceptor to this repo #61).

Do you have any opinions on this @hanguyen-nuro @yzhao-nuro @joeturki @aalekseevx @Sean-Der ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions