Open mchalain opened 4 years ago
Ok...but why?
I understand you have an application where gstreamer is an undesirable output backend. But is there really a common use case for having an output module that can be loaded at run-time?
Hello, My motivation is to add new modules without modification of the core application. Gmrender contains a mechanism to use output modules, but only gstreamer has been available for a long time. I tried to send a support of mpg123 without success, and now I would like to use gmediarender to drive my own playback application ( https://github.com/mchalain/putv). The load of an external library allows to extend the usage of gmrender. Break the link between the UPnP features and the Output, allows to integrate Gmrender in different projects on different targets.
If gmrender may be used by more people, the application may receive more contributions.
My goal is a connected speaker ( https://www.lesimprimantes3d.fr/forum/topic/31906-enceinte-wifi-raspberry-pi-0-w/ ). All softwares is in Open-Source. I need to keep the memory and the CPU resource for the streaming and keep the MMC space to store music. Gstreamer is too fat, and yet glib is useless for me.
Le dim. 28 juin 2020 à 01:17, Tucker Kern notifications@github.com a écrit :
Ok...but why?
I understand you have an application where gstreamer is an undesirable output backend. But is there really a common use case for having an output module that can be loaded at run-time?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/hzeller/gmrender-resurrect/pull/210#issuecomment-650647342, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7UFJC2IQXB3NB3TRIWUJ3RYZ4ZBANCNFSM4OJKH3QQ .
This collection of patches allows to use external output module. The module is a dynamic binary installed is @PREFIX@/lib/gmediarender and the core application is able to load it dynamically with dlopen. output_gstreamer.c is not inside the core application and move to the gmrendergst.so file. Now it exists two way to load the module: $ /usr/local/bin/gmediarender -o
To check the capabilities of the module, the gmrender_mp123.so module is available in the contribs directory. Others modules should be available in the future (mpd and another for my own application putv).