<div dir="ltr"><div>Hello experts,</div><div><br></div><div>I am working to get stream from file to my buffer so that i can send it via my custom port/protocol and i am facing couple of issues, so please help me out</div><div><br></div><div>where i am:</div><div><br></div><div>* After reading tutorial from <a href="https://wiki.videolan.org/Stream_to_memory_(smem)_tutorial/">https://wiki.videolan.org/Stream_to_memory_(smem)_tutorial/</a> i am able to compile and run</div><div>* I have done following changes for smem options to work with video (please refer to complete code mentioned at the end)</div><div><br></div><div>[code]sprintf(smem_options, "#transcode{vcodec=RV32}:smem{video-postrender-callback=%lld,video-prerender-callback=%lld}",</div><div>                // We are using transcode because smem only support raw audio and video formats</div><div>                 (long long int)(intptr_t)(void*)&handleStream, (long long int)(intptr_t)(void*)&prepareRender);[/code]</div><div><br></div><div>* i can see that both prerender and postrenders are being called and data is being supplied</div><div><br></div><div><br></div><div>myProblems:</div><div><br></div><div>* currently to test the output i am dumping the buffer directly to file, some thing like [code]fwrite (p_pixel_buffer, sizeof(char), i_size, myfile); [/code]</div><div>but dumped file is not being read either by vlc player or any other streaming player so i am sure i am  missing here something, because if i ask vlc player to write directly to file by giving full transcode values then things are fine [code]sprintf(smem_options, "#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,samplerate=44100}:file{dst=stream-output.ogg}");[/code]]</div><div><br></div><div>myQuestions</div><div><br></div><div>* is reading from buffer correct? because i read [quote]First, a quick warning: starting with VLC2.2 (current git version, to be released soon), the size parameter is a size_t. There's no API for smem (yet? hopefully this will change), which sucks, so this would silently break your application.[/quote] from <a href="http://stackoverflow.com/questions/23092940/get-frame-from-video-with-libvlc-smem-and-convert-it-to-opencv-mat-c">http://stackoverflow.com/questions/23092940/get-frame-from-video-with-libvlc-smem-and-convert-it-to-opencv-mat-c</a></div><div> </div><div>if yes then </div><div>      * is there any alternative API where i can hook and get buffer?</div><div><br></div><div>if not then </div><div>    * what wrong i am doing and what extra work i have to do to get this done?</div><div><br></div><div>any pointer/sample program would be great help</div><div><br></div><div><br></div><div>PS: </div><div>* here is the complete code i am running <a href="http://pastebin.com/Dp8rSHuM">http://pastebin.com/Dp8rSHuM</a></div><div>* log file out for the run <a href="http://pastebin.com/z5iVD0Jb">http://pastebin.com/z5iVD0Jb</a></div><div><div class="gmail_signature">Regards,<br>Rajiv  </div></div>
</div>