Hello! I'm trying to demux/decode/play RTP stream with FFMpeg libraries.
I'm looking for a way to demux RTP packets arrived from my own transport, so I need using custom I/O. Looking across the Internet, I found an SDP-specific option "sdpflags=custom_io", which were added many years ago. Looking into recent source code (rtsp.c) I found than now option name is "sdp_flags", not "sdpflags". All my attempts to use this option failed: I allocate AVFormatContext with avformat_alloc_context(); I open AVIOContext for my custom I/O operations with avio_alloc_context(). I add it to the options dictionary with the only option "sdp_flags" set to "custom_io". Then I call avformat_open_input() with my options. I see, that my custom read procedure called several times. First time I return SDP text, then just empty strings (0 length). After that I see, that avformat_open_input() finished successfuly. My dictionary with options is empty, so the option I specified was accepted. But when after that I call avformat_find_stream_info() and av_read_frame() for the context, my custom I/O is not invoked. Instead it just listensss the port on IP I specified in SDP provided before, just like no "sdp_flags=custom_io" option was specified. So, I wonder if this option really works? If so, is there any working example of using it? With my best regards, Konstantin P. S.: If I don't specify "c=" in my SDP, avformat_open_input() fails. _______________________________________________ libav-api mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-api
