Page 1 of 1

How to get the mrl of libvlc_media_new_callbacks() defined custom input stream?

Posted: 12 Aug 2020 12:05
by pango
I use libvlc_media_new_callbacks() to input a realtime ts stream to libvlc, and then use "libvlc_vlm_add_broadcast()" to stream it over network,I put the libvlc_media_t * of libvlc_media_new_callbacks to call libvlc_media_get_mrl(),it return the mrl of media is "imem://",I treat the mrl as "psz_input" param to call libvlc_vlm_add_broadcast(),but I failed ,because I found the read callback function of media is never called,and vlc report below errors:

main input debug: `imem://' gives access `imem' demux `any' path `'
main input source debug: creating demux: access='imem' demux='any' location='' file='(null)'
main demux debug: looking for access_demux module matching "imem": 15 candidates
imem demux error: Invalid get/release function pointers
main demux debug: no access_demux modules matched
main stream debug: creating access: imem://
main stream debug: looking for access module matching "imem": 26 candidates
imem stream error: Invalid get/release function pointers
main stream debug: no access modules matched
main input error: Your input can't be opened
main input error: VLC is unable to open the MRL 'imem://'. Check the log for details.


It seems the media mrl is wrong, so how to get the mrl of a custom input stream? what's the "psz_input" param of libvlc_vlm_add_broadcast() when input is custom?

Re: How to get the mrl of libvlc_media_new_callbacks() defined custom input stream?

Posted: 12 Aug 2020 18:21
by RĂ©mi Denis-Courmont
The MRL is indeed imem://. The pointers are passed out of band, cannot be used with VLM (and VLM is deprecated anyway).

Re: How to get the mrl of libvlc_media_new_callbacks() defined custom input stream?

Posted: 13 Aug 2020 04:09
by pango
The MRL is indeed imem://. The pointers are passed out of band, cannot be used with VLM (and VLM is deprecated anyway).
VLM is deprecated , so which api should be used for stream work?