Skip to content

Use of CGO in this repository #98

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions