Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gstreamer: add linbice dependency #161361

Closed

Conversation

aconchillo
Copy link
Contributor

This enables the nice plugins and also adds the webrtcbin plugins from gst-plugins-bad.

Note, that this is different from the disabled libnice subproject. The subproject clones libnice and try to install it in the system, which we don't want. In contrast, adding the dependency just allows plugins to depend on the system installed one.

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@github-actions github-actions bot added python Python use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue long build Set a long timeout for formula testing ffmpeg FFMPEG use is a significant feature of the PR or issue labels Jan 30, 2024
@aconchillo aconchillo force-pushed the gstreamer-depends-libnice branch from a2baccf to 722c0cd Compare January 31, 2024 00:48
@aconchillo
Copy link
Contributor Author

aconchillo commented Jan 31, 2024

The caveats addition is necessary because that's actually the real GStreamer plugin path. Otherwise, GStreamer will load plugins from the Cellar path instead and, for example, it won't load the gstreamer plugin that comes in libnice.

@chenrui333 chenrui333 added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Jan 31, 2024
@github-actions github-actions bot removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Jan 31, 2024
@chenrui333 chenrui333 added the build failure CI fails while building the software label Jan 31, 2024
@aconchillo aconchillo force-pushed the gstreamer-depends-libnice branch from 722c0cd to 1fe0f07 Compare January 31, 2024 17:39
This enables the nice plugins and also adds the webrtcbin plugins from
gst-plugins-bad.

Note, that this is different from the disabled libnice subproject. The
subproject clones libnice and try to install it in the system, which we don't
want. In contrast, adding the dependency just allows plugins to depend on the
system installed one.
@aconchillo aconchillo force-pushed the gstreamer-depends-libnice branch from 1fe0f07 to 23564bd Compare February 1, 2024 02:00
@aconchillo
Copy link
Contributor Author

@chenrui333 any chance to add the Ci-long-timeout label again? Let me know if there's anything missing.

Btw, I'm also working on a current issue. Basically lots of GStreamer plugins are broken (at least on Apple Silicon), try for example:

gst-launch-1.0 videotestsrc ! fakesink

This is now fixed here: https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/163. Once this is merged, I believe they will release a new ORC version. After that we will need a new revision of GStreamer to compile orc files with the new ORC.

Copy link
Member

@carlocab carlocab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libnice depends on gstreamer, so this creates a circular dependency (which we can't have).

Also, setting GST_PLUGIN_SYSTEM_PATH seems to be discouraged by upstream maintainers. See #120206.

@aconchillo
Copy link
Contributor Author

libnice depends on gstreamer, so this creates a circular dependency (which we can't have).

Also, setting GST_PLUGIN_SYSTEM_PATH seems to be discouraged by upstream maintainers. See #120206.

Should we create a gstreamer-libnice package that depends on gstreamer and then gstreamer can safely depend on libnice?

@aconchillo
Copy link
Contributor Author

libnice depends on gstreamer, so this creates a circular dependency (which we can't have).
Also, setting GST_PLUGIN_SYSTEM_PATH seems to be discouraged by upstream maintainers. See #120206.

Should we create a gstreamer-libnice package that depends on gstreamer and then gstreamer can safely depend on libnice?

I'll give that a try...

@aconchillo
Copy link
Contributor Author

Closing for now until I have something working locally.

@aconchillo aconchillo closed this Feb 7, 2024
@github-actions github-actions bot added the outdated PR was locked due to age label Mar 8, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build failure CI fails while building the software ffmpeg FFMPEG use is a significant feature of the PR or issue long build Set a long timeout for formula testing outdated PR was locked due to age python Python use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants