Tidying up the build process

45 views
Skip to first unread message

Asher Baker

unread,
Jul 16, 2021, 12:06:17 PM7/16/21
to medooze
Hi Sergio (and everyone else!),

I've started experimenting with medooze-rtmp-server and audio-codecs-node recently alongside medooze-media-server and have run into a few pain points around the build process and making sure they're all compatible with each other.

The obvious low hanging fruit is that medooze-rtmp-server currently can't be built as it's gyp file is missing files now required inside media-server, and this got me thinking about the build process and how the core media-server library is currently consumed in the various NodeJS wrapping modules.

It isn't remotely ready to build medooze-media-server again yet, but I've started some experiments to add a gyp file for media-server and consume it as a dependency inside media-server-node directly. This seems to be quite promising from a deduplication and single-source-of-truth point of view, and it looks like it should be quite easy to optionally consume it as a shared library, which might be nicer when using multiple node modules. As part of this I've also moved libsrtp and libmp4v into media-server, which seems to generally make more sense.

Please take a look and share any feedback you might have! I'd be interested in driving this to completion but only if it's of interest to merge upstream. I think a less node-focused build system would be nice in media-server to replace the slight soup of different build configurations that are currently there (maybe CMake or Meson), but those are a bit harder to use from a node POV (although there is cmake-js that works very well) and that seems the be the most common external consumer of the media-server native code currently.

Best regards,

Sergio Garcia Murillo

unread,
Jul 19, 2021, 11:05:53 AM7/19/21
to Asher Baker, medooze
Hi Asher,

I am about to go on vacation, but will check the missing files on the medoze-rtmp-server as soon as I get back. Just to confirm, the issue happens if you try to use the master of the media-server and not the commit used in the submodule, right?

Regarding including the gyp file inside the media-server, I think it is a very good idea, and probably would be a good time for a major refactoring of the directory structure. I don't like moving the mp4 stuff inside the media-server, as it is not used at all by the rtmp or audio-codec project. 

Regarding using CMake or Meson inside the media-server, I don't think it is really needed. I want to eventually remove the executable files from there (the good old mcu) and I would probably only need to compile it for the unit tests, which could be done in gyp as well.

Best regards
Sergio

--
You received this message because you are subscribed to the Google Groups "medooze" group.
To unsubscribe from this group and stop receiving emails from it, send an email to medooze+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/medooze/460047e0-50b0-4e38-90d0-1c39badc9c4an%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages