[FFmpeg-devel] [PATCH] RTP packetizer for AAC audio

Luca Barbato lu_zero
Fri Sep 7 15:17:03 CEST 2007


Luca Abeni wrote:
> Hi all,
> 
> I attach the code for supporting AAC audio in RTP streams (the SDP
> generator already contains the necessary bits).
> 
> - aac_encapsulation.diff implements the basic packetization algorithm
> (without fragmentation). Some notes:
>     + The patch introduces a new rtp_aac.c file (since this is really
> the "AAC-hbr" mode of RFC3640, maybe the file should be called
> rtp_rfc3640.c, in case someone implements the other modes in the future?).

leave it aac, makes more sense now.

>     + The maximum number of AAC frames per packet is fixed (maybe we can
> make it runtime-configurable in the future).

Isn't possible to just set an mtu threshold and use it? This way you
fill the packet in a more uniform way.

>     + Instead of adding a new field to the RTPDemuxContext structure, I
> reused the "read_buf_index" field (which was only used in receiving AAC
> audio). If this is not ok, I'll fix the problem.

I doubt it is a problem, still would be better having a variable for
frame stacking (since it will be used also on vorbis and theora)

>     + The patch depends on the two "RTP timestamps" patches that I
> posted some time ago

Commit them anytime =)

>     + Fragmentation support is not implemented because I've not been
> able to generate big AAC frames, so I could not test it

make the mtu ridiculously little like 200 to test.

>     + As usual, the patch has been tested using vlc and openrtsp as
> clients, and it works ok

So it should be fine with others (btw if you try it on quicktime and you
 have problems don't be afraid, seems their implementation has some quirks)

> - aac_fragmented_frames.diff implements fragmentation support in the AAC
> packetizer. As said, I've not been able to test this code (this is why
> it is in a second patch).

ok

lu

-- 

Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero





More information about the ffmpeg-devel mailing list