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

Reply via email to