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

gst-plugins-bad missing webrtcbin plugin #25649

Closed
6 tasks done
jon-courtney opened this issue Mar 23, 2018 · 11 comments
Closed
6 tasks done

gst-plugins-bad missing webrtcbin plugin #25649

jon-courtney opened this issue Mar 23, 2018 · 11 comments
Labels
outdated PR was locked due to age

Comments

@jon-courtney
Copy link
Contributor

jon-courtney commented Mar 23, 2018

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

  • are reporting a bug others will be able to reproduce and not asking a question. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh
  • have a problem with brew install (or upgrade, reinstall) a single, official formula (not cask)? If it's a general brew problem please file this issue at Homebrew/brew: https://github.com/Homebrew/brew/issues/new. If it's a brew cask problem please file this issue at https://github.com/caskroom/homebrew-cask/issues/new. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
  • ran brew update and can still reproduce the problem?
  • ran brew doctor, fixed all issues and can still reproduce the problem?
  • ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)
  • What happened (include command output)
  • What you expected to happen
  • Step-by-step reproduction instructions (by running brew install commands)

Problem

The recent 1.14.0 release of gstreamer included support for WebRTC via the webrtcbin element in the gst-plugins-bad package. brew install gst-plugins-bad completes OK, and (for example) gst-inspect-1.0 hlssink shows that hlssink is found in gst-plugins-bad as expected. brew info gst-plugins-bad confirms that v. 1.14.0 is installed. But gst-inspect-1.0 webrtcbin returns "No such element or plugin 'webrtcbin'", so Homebrew is failing to install that particular element properly.

The gst release notes say "GStreamer's new WebRTC implementation uses libnice for Interactive Connectivity Establishment (ICE)...", so I thought that perhaps a missing dependency on libnice could be the culprit. But brew install libnice and re-installing gst-plugins-bad made no difference.

Outputs

brew config:
HOMEBREW_VERSION: 1.5.12
ORIGIN: https://github.com/Homebrew/brew
HEAD: 85ebe88
Last commit: 34 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 1d71e12
Core tap last commit: 64 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_RUBY_WARNINGS: -W0
CPU: octa-core 64-bit kabylake
Homebrew Ruby: 2.3.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 9.0 build 900
Git: 2.14.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.54.0 => /usr/bin/curl
Perl: /usr/bin/perl
Python: /usr/local/opt/python/libexec/bin/python => /usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Java: N/A
macOS: 10.13.3-x86_64
Xcode: N/A
CLT: 9.2.0.0.1.1510905681
X11: N/A

brew gist-logs gst-plugins-bad:
Error: No logs.

brew doctor : attached
brew_doctor.txt

@sjmgarnier
Copy link

Same issue with missing srtsink and srtsrc. Just for good measure, I checked all the other new elements released with 1.14 and they all appear to be there. Only elements linked to WebRTC and SRT appear to be missing.

@rakkesh
Copy link
Contributor

rakkesh commented Mar 23, 2018

The gst release notes say "GStreamer's new WebRTC implementation uses libnice for Interactive Connectivity Establishment (ICE)...", so I thought that perhaps a missing dependency on libnice could be the culprit. But brew install libnice and re-installing gst-plugins-bad made no difference.

@jon-courtney AFAIK, dependent libraries are not linked opportunistically as homebrew builds are sandboxed. You need to include the dependent library, libnice in gst-plugins-bad formula and rebuild it from source.

$ brew edit gst-plugins-bad

Add the following line,

depends_on "libnice" => :recommended ## or make it default or optional dependency

also, enable a switch, if needed. Save your changes and then,

$ brew reinstall --build-from-source gst-plugins-bad ## you may use --verbose and --debug optionally.

@sjmgarnier
Copy link

@rakkesh It worked for webrtcbin! Now I guess I need to figure out what srtsink and srtsrc depend on.

@tschoonj
Copy link
Contributor

@rakkesh feel free to open a PR with this, though it is probably best to make this :optional assuming this is a rather rarely used option...

@tschoonj
Copy link
Contributor

@sjmgarnier try adding depends_on "srt", and rebuild.

@jon-courtney
Copy link
Contributor Author

jon-courtney commented Mar 23, 2018

@tschoonj : I opened a PR for the webrtcbin fix, per the instructions from @rakkesh, after confirming that it built properly on my system. I made it a default dependency, however, since WebRTC support is a major new area of development in gst-plugins-bad, and I suspect others will be expecting this the webrtcbin element to show up by default through Homebrew.

@sjmgarnier
Copy link

@tschoonj Yes, I did this. It works. Also srtsink and srtsrc don't exist actually (error on Gstreamer release notes), it's actually srtclientsrc, srtserversrc, srtclientsink, srtserversink.

@sjmgarnier
Copy link

@jon-courtney Would you mind including srt as well in your PR?

@jon-courtney
Copy link
Contributor Author

@sjmgarnier : Thewebrtcbin PR is already submitted, but I can see about tacking on the srt dependency as well.

@sjmgarnier
Copy link

@jon-courtney Cool, thanks!

@jon-courtney
Copy link
Contributor Author

PR 25680 submitted.

@lock lock bot added the outdated PR was locked due to age label May 10, 2018
@lock lock bot locked as resolved and limited conversation to collaborators May 10, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

5 participants