This patchset implements optional MP4A-LATM RTP payload
by adding a muxer-specific private AVOption to the RTP muxer.
This is IMO in principle the correct way of handling something,
which really is an option changing the muxer's behaviour.
The messy thing about this approach is that all chained
muxers that use chained RTP muxers need to declare a similar
public AVOption to allow callers to set it. This patchset
implements it for RTSP and mov, but not e.g. for SAP (yet at least).
The earlier approach by using a flag value in AVFormatContext
flags simplifies this issue, since the flag value can be set on
the RTSP and mov muxers without modifying them. A global flag value
for something specific to one muxer is ugly, but since it has to
be passed through many different chained muxers, perhaps it
still would make sense.
The last commit of the patchset isn't directly related to this,
but cleans up the RTP hinting flag that now can be implemented
much cleaner as an AVOption instead.
Juan Carlos Rodriguez (1):
rtpenc: MP4A-LATM payload support
Martin Storsjö (7):
sdp: Allow passing an AVFormatContext to the SDP generation
sdp: Reindent after the previous commit
rtpenc_chain: Pass the latm option through, if set on the source
format
rtspenc: Add a latm AVOption
movenc: Pass the RTP AVFormatContext to the SDP generation
movenc: Add an AVOption for enabling LATM in the RTP hinting
movenc: Deprecate the global RTP hinting flag, use a private AVOption
instead
libavcodec/Makefile | 2 +-
libavformat/Makefile | 1 +
libavformat/avformat.h | 2 +-
libavformat/internal.h | 4 +-
libavformat/movenc.c | 48 ++++++++++++++++--
libavformat/movenc.h | 4 ++
libavformat/options.c | 2 +-
libavformat/rtpenc.c | 19 +++++++-
libavformat/rtpenc.h | 4 ++
libavformat/rtpenc_chain.c | 6 ++
libavformat/rtpenc_latm.c | 61 ++++++++++++++++++++++
libavformat/rtsp.h | 8 +++
libavformat/rtspenc.c | 14 +++++
libavformat/sdp.c | 122 ++++++++++++++++++++++++++++++++++++--------
14 files changed, 267 insertions(+), 30 deletions(-)
create mode 100644 libavformat/rtpenc_latm.c
--
1.7.3.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel