[FFmpeg-devel] [PATCH] Make AVRtpPayloadTypes static and constant

Michael Niedermayer michaelni
Mon Jan 7 11:09:00 CET 2008


On Mon, Jan 07, 2008 at 09:28:00AM +0100, Luca Abeni wrote:
> Hi Michael,
> 
> Michael Niedermayer wrote:
> [...]
> >>> And rtp.h should not be installed IIRC
> >>> And any application depending on anything from it is broken, this stuff is
> >>> not part of the public API IMHO
> > 
> >> Some months ago I proposed to avoid installing rtp.h, and I was told
> >> that it is needed.
> 
> See the thread with subject "Why is rtp.h installed?" on ffmpeg-devel
> (started on 10/26/2007).
> 
> 
> > Needed by what?
> 
> Right now, it's only needed by ffserver.c. But ffserver.c also includes
> config.h, so it is not a reason for installing rtp.h.
> Maybe some applications might need rtp_get_local_port() (and/or
> rtp_get_file_handles()?), but I am not sure...

Applications using ANY rtp specific function from rtp.h are broken, this stuff
is not public API, whoever added it should be shot!
rtp.h should be removed! It cannot even break ABI, and anyone who uses it,
well they have to fix their code anyway. Bumping the major version wont make
it any easier for them, use of the code in rtp.h was always wrong.

If one wants to get a list of file handles, there should be a
av_get_file_handles(AVFormatContext/URLProtocol/whatever)
not a rtp_get_file_handles() which will crash with non rtp
libavformat is not a collection of incompatible random APIs from different
(de)muxers and protocols but a common generic one. Which allows users to
switch between 2 protocols by replacing just the url used. rtp_* breaks this


> 
> So, I'd like to remove rtp.h from the installed headers. BTW, I committed the
> patch, and Aurelien replied saying that the commit is breaking API and ABI.

your change of AVRtpPayloadTypes -> static broke the ABI if one assumes
everything in rtp.h to be part of the public API/ABI
removing rtp.h from the installed headers cannot break the ABI
but as said rtp.h should never have been installed, i do not know why it
was added to the installed headers ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080107/b38ec346/attachment.pgp>



More information about the ffmpeg-devel mailing list