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

Nicolas George nicolas.george
Fri Oct 12 20:19:39 CEST 2007

Without IPv6, opening an UDP socket without an explicit local_port will call
bind and getsockname to let the kernel choose an ephemeral port. If IPv6 is
enabled, it is not done.

The following patch fixes it.

The (one?) problem with the current behavior is RTP: RTP needs two
consecutive ports. The current implementation gets a first socket with an
ephemeral port, then requests the next port. If the ephemeral port is not
bound, it fails (trying to bind port 1).

This patches allows the following ffserver.conf excerpt (with all thanks to
Luca Abeni) to work with an IPv6-enabled libavformat:

<Stream test1-rtsp.mpg>
Format rtp
File "/tmp/test.mpg"

I do not know if it breaks anything else.


  Nicolas George

More information about the ffmpeg-devel mailing list