[FFmpeg-devel] [PATCH] Make RTP work with IPv6 enabled

Ronald S. Bultje rsbultje
Mon Oct 29 13:23:49 CET 2007


Hi Luca

On 10/29/07, Luca Abeni <lucabe72 at email.it> wrote:
> > However, even with the patches in recent
> > threads, CONFIG_IPV6 doesn't work with udp. Set up is correct, the
bind()
> > succeeds but the sendto() in udp_write() fails completely unexpectedly
with
> > EINVAL, which isn't even documented in its manpage.
>
> The only possibility I can guess is that s->dest_addr or s->dest_addr_len
> is not set properly.
>
> Just to be 100% sure that I understand correctly: this happens when you
compile
> without "--disable-ipv6", even if you try to stream to IPv4 addresses,
right?
>
>
> > If I split the sendto() into a separate connect() in udp_open() followed
by
> > send() in udp_write(), the whole thing works as expected
>
> This is... Scary :(
> I cannot imagine anything that can cause such a behaviour.
> In the connect(), you use the same "s->dest_addr" and "s->dest_addr_len"
used
> in sendto(), right? Can you check with an av_log() that the used values
are
> the same, just to be 100% sure?

I did, millions of times, I don't understand it either, but they are really
the same and they are correct. The sendto() fails and the connect() and
send() are fine. I can not possibly imagine anything that could cause this
either. I could imagine random data corruption somewhere else because of a
memory overflow in ffserver, I haven't checked for that yet. I'll play with
libgmalloc (valgrind for MacOSX or so, apparently) and see if I get
something.

Ronald




More information about the ffmpeg-devel mailing list