From 9b14ec5fae2a49931d5a66a86b200161263e8039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 20 Dec 2010 20:46:40 +0000 Subject: [PATCH] sdp: Add a framesize attribute to H.263 SDP descriptions While not mentioned in RFC 4629, this is required for H.263 in 3GPP TS 26.234. It is in practice required for playback with Android stagefright and on Samsung bada phones. Originally committed as revision 26062 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/sdp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavformat/sdp.c b/libavformat/sdp.c index 35cbabc60a..872e76c5ae 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -314,7 +314,14 @@ static char *sdp_write_media_attributes(char *buff, int size, AVCodecContext *c, break; case CODEC_ID_H263: case CODEC_ID_H263P: - av_strlcatf(buff, size, "a=rtpmap:%d H263-2000/90000\r\n", payload_type); + /* a=framesize is required by 3GPP TS 26.234 (PSS). It + * actually specifies the maximum video size, but we only know + * the current size. This is required for playback on Android + * stagefright and on Samsung bada. */ + av_strlcatf(buff, size, "a=rtpmap:%d H263-2000/90000\r\n" + "a=framesize:%d %d-%d\r\n", + payload_type, + payload_type, c->width, c->height); break; case CODEC_ID_MPEG4: if (c->extradata_size) {