diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-05-12 04:51:24 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-05-12 04:51:24 +0200 |
commit | 612122b187d711257eecd517e4049cef3bb0b7f0 (patch) | |
tree | 2e0ed86f6f73bbc993a0e7787f331e21d1c7c064 /libavformat | |
parent | 4ea216e761e02d3f6973b316feaf3484be91a14f (diff) | |
parent | 5705b02079449c685a3dd337fcc3a8b440dca4a0 (diff) | |
download | ffmpeg-612122b187d711257eecd517e4049cef3bb0b7f0.tar.gz |
Merge remote branch 'qatar/master'
* qatar/master: (32 commits)
10-bit H.264 x86 chroma v loopfilter asm
Port SMPTE S302M audio decoder from FFmbc 0.3. [Copyright headers corrected]
Fix crash of interlaced MPEG2 decoding
h264pred: fix one more aliasing violation.
doc/APIchanges: fill in missing hashes and dates.
flacenc: use proper initializers for AVOption default values.
lavc: deprecate named constants for deprecated antialias_algo.
aac: workaround for compilation on cygwin
swscale: extend YUV422p support to 10bits depth
tiff: add support for inverted FillOrder for uncompressed data
Remove unused softfloat implementation.
h264pred: fix aliasing violations.
rotozoom: Eliminate French variable name.
rotozoom: Check return value of fread().
rotozoom: Return an error value instead of calling exit().
rotozoom: Make init_demo() return int and check for errors on invocation.
rotozoom: Drop silly UINT8 typedef.
rotozoom: Drop some unnecessary parentheses.
rotozoom: K&R coding style cosmetics
rtsp: Only do keepalive using GET_PARAMETER if the server supports it
...
Conflicts:
Changelog
cmdutils.c
doc/APIchanges
doc/general.texi
ffmpeg.c
ffplay.c
libavcodec/h264pred_template.c
libavcodec/resample.c
libavutil/pixfmt.h
libavutil/softfloat.c
libavutil/softfloat.h
tests/rotozoom.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mpegts.c | 1 | ||||
-rw-r--r-- | libavformat/rtsp.c | 4 | ||||
-rw-r--r-- | libavformat/rtsp.h | 5 | ||||
-rw-r--r-- | libavformat/rtspdec.c | 4 |
4 files changed, 13 insertions, 1 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index d03fe19ad2..f59b7c2ed2 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -524,6 +524,7 @@ static const StreamType MISC_types[] = { static const StreamType REGD_types[] = { { MKTAG('d','r','a','c'), AVMEDIA_TYPE_VIDEO, CODEC_ID_DIRAC }, { MKTAG('A','C','-','3'), AVMEDIA_TYPE_AUDIO, CODEC_ID_AC3 }, + { MKTAG('B','S','S','D'), AVMEDIA_TYPE_AUDIO, CODEC_ID_S302M }, { 0 }, }; diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index b6ed0c651b..3fdf494ad8 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -808,6 +808,10 @@ void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf, p += strspn(p, SPACE_CHARS); if (method && !strcmp(method, "PLAY")) rtsp_parse_rtp_info(rt, p); + } else if (av_stristart(p, "Public:", &p) && rt) { + if (strstr(p, "GET_PARAMETER") && + method && !strcmp(method, "OPTIONS")) + rt->get_parameter_supported = 1; } } diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index 0fec3cc991..56160cefc2 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -331,6 +331,11 @@ typedef struct RTSPState { * Polling array for udp */ struct pollfd *p; + + /** + * Whether the server supports the GET_PARAMETER method. + */ + int get_parameter_supported; } RTSPState; /** diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index 5833a5209a..454a31c3f9 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -341,7 +341,9 @@ retry: /* send dummy request to keep TCP connection alive */ if ((av_gettime() - rt->last_cmd_time) / 1000000 >= rt->timeout / 2) { - if (rt->server_type != RTSP_SERVER_REAL) { + if (rt->server_type == RTSP_SERVER_WMS || + (rt->server_type != RTSP_SERVER_REAL && + rt->get_parameter_supported)) { ff_rtsp_send_cmd_async(s, "GET_PARAMETER", rt->control_uri, NULL); } else { ff_rtsp_send_cmd_async(s, "OPTIONS", "*", NULL); |