[FFmpeg-soc] [PATCH] rtsp tunneling

Ronald S. Bultje rsbultje at gmail.com
Wed Jun 9 19:53:51 CEST 2010


Hi,

On Wed, Jun 9, 2010 at 5:28 AM, Martin Storsjö <martin at martin.st> wrote:
> Ronald: There's still an arcitectural regression introduced by the http
> delay open, that I'm a bit unsure about how to fix. url_fdopen (which is
> invoked directly by url_fopen) copies the value of is_streamed to the
> ByteIOContext directly after opening. In the http protocol, is_streamed is
> 1 initially to indicate that seeking isn't supported, but is set to 0 if a
> proper reply header is found. This used to be done already within
> url_open(), but isn't anymore since the connection hasn't been opened yet.
> So this effectively removes support for seeking in http sources for now.
>
> How do you suggest we fix this?

This, and many other regressions, are all caused because URL* combines
allocation with opening, something that AVFormatContext/AVCodecContext
separate. The proper thing to do is to separate it also. That breaks
or adds API, which is bad, but maybe we just have to byte the bullet.
It also means we have to separate close and free.

Michael, that OK with you, if it doesn't break existing API/apps?

> I'm not sure if this is the last issue - the http delay open issue feels
> like a can of worms/regressions at the moment. One option would be to
> disable delay opening by default and only enable it in the RTSP tunneling
> case by a private flag or something similar.

No, no private flags will be introduced to maintain this. We said that
this is a "quick and little bit dirty" way to get Josh's stuff moving,
and that's what it is. Once we have a sane solution, we'll remove this
(ff_http_*()) again anyway, e.g. in favour of AVOption or whatever.

Ronald


More information about the FFmpeg-soc mailing list