diff --git a/README.md b/README.md index a6afab9b..f27869f3 100644 --- a/README.md +++ b/README.md @@ -160,10 +160,10 @@ redis: address: localhost:6379 ``` -On MacOS, if GStreamer was installed using Homebrew, the following environment must be set: +On MacOS, if GStreamer was installed using Homebrew, the following environment must be set in order to ensure that GStreamer can load all its plugins: ```shell -export GST_PLUGIN_PATH=/opt/homebrew/Cellar/gst-plugins-base:/opt/homebrew/Cellar/gst-plugins-good:/opt/homebrew/Cellar/gst-plugins-bad:/opt/homebrew/Cellar/gst-plugins-ugly:/opt/homebrew/Cellar/gst-plugins-bad:/opt/homebrew/Cellar/gst-libavĀ  +export DYLD_LIBRARY_PATH=/opt/homebrew/lib ``` Then to run the service: @@ -172,6 +172,12 @@ Then to run the service: ingress --config=config.yaml ``` +If starting an Ingress fails with a GStreamer error such as `Failed to load libsoup library` or `no such element factory "souphttpsrc`, try deleting your GStreamer plugin registry with: + +```shell +rm -rf ~/.cache/gstreamer-1.0/ +``` + #### Running with Docker To run against a local LiveKit server, a Redis server must be running locally. The Ingress service must be instructed to connect to LiveKit server and Redis on the host. The host network is accessible from within the container on IP: diff --git a/pkg/media/urlpull/source.go b/pkg/media/urlpull/source.go index 5881fb89..9b37af1f 100644 --- a/pkg/media/urlpull/source.go +++ b/pkg/media/urlpull/source.go @@ -46,7 +46,7 @@ type URLSource struct { func NewURLSource(ctx context.Context, p *params.Params) (*URLSource, error) { bin := gst.NewBin("input") - elem, err := gst.NewElement("curlhttpsrc") + elem, err := gst.NewElement("souphttpsrc") if err != nil { return nil, err }