diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-06-11 03:51:36 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-06-11 03:51:36 +0200 |
commit | 45fb64749584ed07ea88549a3e06ae70e1d736e9 (patch) | |
tree | f46fb2de436c34ea90b71e06e11f09fc6bc2f594 /libavformat/sdp.c | |
parent | 39dbe9b6b8fdd587793583c8296fecf94b3aee58 (diff) | |
parent | 19d824e47373594739bb9a05cd4e7edbc441b173 (diff) | |
download | ffmpeg-45fb64749584ed07ea88549a3e06ae70e1d736e9.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
bitstream: Properly promote av_reverse values before shifting.
libavutil/swscale: YUV444P10/YUV444P9 support.
H.264: Fix high bit depth explicit biweight
h264: Fix 10-bit H.264 x86 chroma v loopfilter asm.
Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog.
Update copyright year for ac3enc_opts_template.c.
adts: Adjust frame size mask to follow the specification.
movenc: Add RTP muxer/hinter options
movenc: Pass the RTP AVFormatContext to the SDP generation
rtspenc: Add RTP muxer options
rtspenc: Add an AVClass for setting muxer specific options
rtpenc_chain: Pass the rtpflags options through to the chained muxer
rtpenc: Declare the rtp flags private AVOptions in rtpenc.h
sdp: Reindent after the previous commit
rtpenc: MP4A-LATM payload support
avoptions: Add an av_opt_flag_is_set function for inspecting flag fields
sdp: Allow passing an AVFormatContext to the SDP generation
mov: Fix wrong timestamp generation for fragmented movies that have time offset caused by the first edit list entry.
mpeg12: more advanced ffmpeg mpeg2 aspect guessing code.
swscale: split YUYV output out of yuv2packed[12X]_c().
Conflicts:
doc/APIchanges
libavcodec/Makefile
libavcodec/h264dsp_template.c
libavcodec/mpeg12.c
libavformat/aacdec.c
libavformat/avidec.c
libavformat/internal.h
libavformat/movenc.c
libavformat/rtpenc.c
libavformat/rtpenc_latm.c
libavformat/sdp.c
libavformat/version.h
libavutil/avutil.h
libavutil/pixfmt.h
libswscale/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/sdp.c')
-rw-r--r-- | libavformat/sdp.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libavformat/sdp.c b/libavformat/sdp.c index 3abc5ef567..32cef49916 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -23,6 +23,7 @@ #include "libavutil/base64.h" #include "libavutil/dict.h" #include "libavutil/parseutils.h" +#include "libavutil/opt.h" #include "libavcodec/xiph.h" #include "libavcodec/mpeg4audio.h" #include "avformat.h" @@ -301,7 +302,8 @@ xiph_fail: return NULL; } -static int latm_context2profilelevel(AVCodecContext *c) { +static int latm_context2profilelevel(AVCodecContext *c) +{ /* MP4A-LATM * The RTP payload format specification is described in RFC 3016 * The encoding specifications are provided in ISO/IEC 14496-3 */ @@ -329,7 +331,8 @@ static int latm_context2profilelevel(AVCodecContext *c) { return profile_level; } -static char *latm_context2config(AVCodecContext *c) { +static char *latm_context2config(AVCodecContext *c) +{ /* MP4A-LATM * The RTP payload format specification is described in RFC 3016 * The encoding specifications are provided in ISO/IEC 14496-3 */ @@ -364,7 +367,7 @@ static char *latm_context2config(AVCodecContext *c) { return config; } -static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c, int payload_type, int flags) +static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c, int payload_type, AVFormatContext *fmt) { char *config = NULL; @@ -399,7 +402,8 @@ static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c, payload_type, config ? config : ""); break; case CODEC_ID_AAC: - if (flags & AVFMT_FLAG_MP4A_LATM) { + if (fmt && fmt->oformat->priv_class && + av_opt_flag_is_set(fmt->priv_data, "rtpflags", "latm")) { config = latm_context2config(c); if (!config) return NULL; @@ -523,7 +527,7 @@ static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c, return buff; } -void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *dest_addr, const char *dest_type, int port, int ttl, int flags) +void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *dest_addr, const char *dest_type, int port, int ttl, AVFormatContext *fmt) { const char *type; int payload_type; @@ -546,7 +550,7 @@ void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *des av_strlcatf(buff, size, "b=AS:%d\r\n", c->bit_rate / 1000); } - sdp_write_media_attributes(buff, size, c, payload_type, flags); + sdp_write_media_attributes(buff, size, c, payload_type, fmt); } int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size) @@ -596,7 +600,7 @@ int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size) ff_sdp_write_media(buf, size, ac[i]->streams[j]->codec, dst[0] ? dst : NULL, dst_type, (port > 0) ? port + j * 2 : 0, ttl, - ac[i]->flags); + ac[i]); if (port <= 0) { av_strlcatf(buf, size, "a=control:streamid=%d\r\n", i + j); @@ -612,7 +616,7 @@ int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size) return AVERROR(ENOSYS); } -void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *dest_addr, const char *dest_type, int port, int ttl, int flags) +void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *dest_addr, const char *dest_type, int port, int ttl, AVFormatContext *fmt) { } #endif |