smem + display
Posted: 30 Jul 2015 19:51
Hi,
I'm looking to apply some processing (on the fly) on an audio input.
The input has multiple channels, and depending on a state variable (you don't want to know about this), i want to mix the channels and output an audio with two channels.
transcode and smem seem to be the way to go.
The most simple workflow is to do nothing, that is :
Then I can call libvlc_media_player_play() and everything works properly.
To do the processing I want, my workflow would probably need look like this :
I can access to the data in my function handleStream(...) and do wathever I want there. But then, the display does not do anything.
My question is : what should I do in handleStream (or elsewhere) to output something that could be handled properly in the ":display" (or to an rtp{...} or wathever) ?
I didn't see any example of a display or a rtp which comes AFTER a smem. Is it possible to do it ?
I'm looking to apply some processing (on the fly) on an audio input.
The input has multiple channels, and depending on a state variable (you don't want to know about this), i want to mix the channels and output an audio with two channels.
transcode and smem seem to be the way to go.
The most simple workflow is to do nothing, that is :
Code: Select all
sprintf(smem_options, "#display");
To do the processing I want, my workflow would probably need look like this :
Code: Select all
sprintf(smem_options, "#transcode{acodec=fl32}:smem{audio-postrender-callback=%lld,audio-prerender-callback=%lld,time-sync}:display", &handleStream, &prepareRender);
My question is : what should I do in handleStream (or elsewhere) to output something that could be handled properly in the ":display" (or to an rtp{...} or wathever) ?
I didn't see any example of a display or a rtp which comes AFTER a smem. Is it possible to do it ?