Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to Run Servo/Media/Examples?

68 views
Skip to first unread message

Maria Sable

unread,
Apr 27, 2019, 3:06:44 PM4/27/19
to dev-...@lists.mozilla.org
Hi all,

I'm working on finishing up our final project at NCSU, and I need to create
a runnable example for StereoPannerNode based on the example for
PannerNode. However, it would be immensely helpful to know how to actually
run the existing PannerNode example, but I can't find any instructions in
the readme (I'm on Windows if it matters). Thanks for your help!

Kind regards,
Maria

Manish Goregaokar

unread,
Apr 27, 2019, 3:14:04 PM4/27/19
to dev-servo
`cargo ex name_of_example`

In the case of StereoPannerNode you should probably look at the GainNode
code and examples instead, StereoPannerNode is a simple node with a single
parameter that runs an algorithm based on that parameter, much like
GainNode. PannerNode is a lot more complicated.

Thanks,
-Manish Goregaokar
> _______________________________________________
> dev-servo mailing list
> dev-...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>

Maria Sable

unread,
Apr 27, 2019, 3:24:50 PM4/27/19
to dev-...@lists.mozilla.org
Hi Manish,

Where is the GainNode example? I don't see it in servo/media/examples.

Also, when I try to run "cargo ex panner" in servo/media, I get some errors
that the following files were not found: libglib-2.0-0.dll,
libgobject-2.0-0.dll, libgstreamer-1.0-0.dll, and libgstsdp-1.0-0.dll.
However, I remember installing gstreamer as needed to build the servo/servo
project, and the "mach.bat build --dev" command works fine for that. Do I
need to do something different to get it work with servo/media? When I run
"cargo build" in servo/media, it works fine.

Kind regards,
Maria

On Sat, Apr 27, 2019 at 3:13 PM Manish Goregaokar <manis...@gmail.com>
wrote:

Akhilesh Venkatasubramanian

unread,
Apr 27, 2019, 3:33:40 PM4/27/19
to dev-...@lists.mozilla.org
Hi,

These we the commands I used to setup servo/media:
1. brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
gst-plugins-ugly gst-libav gst-rtsp-server gst-editing-services

2. export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig/

3. rustup override set nightly

You can run the examples in servo/media after your cargo build is
successful. When the build is successful, there will be a folder
target/debug, from where you will be able to run the executables any
example.

Thanks,
Akhilesh

Maria Sable

unread,
Apr 27, 2019, 3:40:39 PM4/27/19
to dev-...@lists.mozilla.org
Hi Akhilesh,

My cargo build is successful and I am able to see the executables in
target/debug. However, when I try to run one, I get the same errors about
all those gstreamer files not being found. But I have already installed
gstreamer as per the servo/servo readme instructions. Any ideas on how to
fix this?

Kind regards,
Maria Sable

Maria Sable

unread,
Apr 27, 2019, 3:47:27 PM4/27/19
to dev-...@lists.mozilla.org
I have looked in my C:\gstreamer\1.0\x86_64\lib folder and it looks like
the file names it is looking for are slightly off and that's why it can't
find them. It looks like all the files it is saying are not found when I
run the example executables are in fact in my lib folder, but the filenames
are slightly different. So for example it is looking for libglib-2.0-0.dll,
but the one in my lib folder is called libglib-2.0.dll.a. Any ideas on how
to fix this?

Akhilesh Venkatasubramanian

unread,
Apr 27, 2019, 3:51:42 PM4/27/19
to dev-...@lists.mozilla.org
Hi,

This is what I found while searching:
".a files are static libraries. .dll.a files are files that just help you
link against a dll (which is a dynamic library). My guess is that your dll
contains everything, and the dll.a files just point to the dll."

You can try to uninstall gstreamer completely and install it again? If you
are using a Mac, then the command I sent you should install it properly.

Cheers,
Akhilesh

Manish Goregaokar

unread,
Apr 27, 2019, 3:54:43 PM4/27/19
to dev-servo
Ah. The params.rs test sets up a gain node and sends it a bunch of things.
You can do something similar with the StereoPannerNode, though you don't
have to send it as many different messages. A simple SetValue message
followed by a couple linear RampToValueAtTimes would be enough.

Thanks,
-Manish Goregaokar

Maria Sable

unread,
Apr 27, 2019, 7:11:27 PM4/27/19
to dev-...@lists.mozilla.org
Hi Manish,

Thank you. I will try to make a StereoPannerNode example based off the
params.rs.

However, I am still having trouble getting any of the examples in
media/target/debug to run. I tried renaming the files in
my C:\gstreamer\1.0\x86_64\lib folder to match the errors I am getting (it
says the files are not found) but I am still get the same errors. I have
gstreamer 1.14 installed (because gstreamer 1.15 changed some file names
and gave other errors when I initially set up the servo project). I am on
Windows and installed gstreamer via the binaries from the gstreamer project
website and set the PKG_CONFIG_PATH environment variable by following these
instructions: https://github.com/sdroege/gstreamer-rs#installation . I did
not see anyone reporting similar issues on servo/media.

Do you have any suggestions on how to fix this?

Kind regards,
Maria

On Sat, Apr 27, 2019 at 3:54 PM Manish Goregaokar <manis...@gmail.com>

Akhilesh Venkatasubramanian

unread,
Apr 27, 2019, 7:13:52 PM4/27/19
to dev-...@lists.mozilla.org
HI Maria,

Did you try a clean reinstall of gstreamer? I used gstreamer 1.16 while running servo/media.

Thanks.
Akhilesh

Manish Goregaokar

unread,
Apr 27, 2019, 7:20:51 PM4/27/19
to dev-servo
I'm not really sure, I don't develop on Windows. A clean reinstall may help.

It definitely shouldn't need files to be renamed -- did you install the
right package?

Balaji Janakarajan Hari

unread,
Apr 27, 2019, 7:28:06 PM4/27/19
to dev-...@lists.mozilla.org
Hi Maria
I had similar issues in the servo/media on Windows build. Ultimately I
resorted to running a Ubuntu 16.04 on Orcale VirtualBox. The environmental
variables and updated dependencies are very particular when it comes to
build process. The Linux subsystem for Windows may not work as well for
this purpose.

Manish Goregaokar

unread,
Apr 27, 2019, 7:34:57 PM4/27/19
to dev-servo
Wait, are you using WSL or directly developing on Windows?

What did you use to install gstreamer?

On Sat, Apr 27, 2019, 4:28 PM Balaji Janakarajan Hari <bja...@ncsu.edu>
wrote:

Maria Sable

unread,
Apr 27, 2019, 7:41:47 PM4/27/19
to dev-...@lists.mozilla.org
Hi all,

I uninstalled gstreamer 1.14 and did a fresh install using the gstreamer
1.16 binaries as Akhilesh suggested. I am still having the same issue with
running the examples.

I am directly developing on Windows. I followed these instructions to
install the gstreamer binaries:
https://github.com/sdroege/gstreamer-rs#installation . I have not tried to
use WSL.

Kind regards,
Maria Sable

On Sat, Apr 27, 2019 at 7:34 PM Manish Goregaokar <manis...@gmail.com>

Josh Bowman-Matthews

unread,
Apr 29, 2019, 9:46:35 AM4/29/19
to dev-...@lists.mozilla.org
Have you installed both the -devel and non-devel packages for GStreamer?
If not, try doing that.

Maria Sable

unread,
Apr 29, 2019, 10:36:17 PM4/29/19
to dev-...@lists.mozilla.org
Hi Josh,

Yes, I did install both binaries/packages for GStreamer. It's not a big
deal anymore since my pull request with the runnable example was merged
(even though I personally couldn't run it), but it would be nice to figure
out what the issue is.

Kind regards,
Maria Sable

On Mon, Apr 29, 2019 at 9:46 AM Josh Bowman-Matthews <jo...@joshmatthews.net>
wrote:

> Have you installed both the -devel and non-devel packages for GStreamer?
> If not, try doing that.
>
> On 4/27/19 7:41 PM, Maria Sable wrote:
0 new messages