Hi John,
On Mon, 31 Oct 2011, John Brooks wrote:
Streams from the RTSP server that do not match an allowed type
will be skipped entirely, which allows video-only or audio-only
streaming from servers that provide both.
Nice, in general, this patch looks good, I could have used it a number of
times when debugging some things (where I've just temporarily hacked the
code to skip either stream).
---
libavformat/rtsp.c | 10 +++++++++-
libavformat/rtsp.h | 5 +++++
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 5aadc44..94184b0 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -74,6 +74,12 @@ const AVOption ff_rtsp_options[] = {
{ "udp_multicast", "UDP multicast", 0, AV_OPT_TYPE_CONST, {1 <<
RTSP_LOWER_TRANSPORT_UDP_MULTICAST}, 0, 0, DEC, "rtsp_transport" },
{ "http", "HTTP tunneling", 0, AV_OPT_TYPE_CONST, {(1 << RTSP_LOWER_TRANSPORT_HTTP)},
0, 0, DEC, "rtsp_transport" },
RTSP_FLAG_OPTS("rtsp_flags", "RTSP flags"),
+
+ { "allowed_media_types", "Media types to accept from the server", OFFSET(media_type_mask),
AV_OPT_TYPE_FLAGS, { (1 << (AVMEDIA_TYPE_DATA+1)) - 1 }, INT_MIN, INT_MAX, DEC,
"allowed_media_types" }, \
+ { "video", "Video", 0, AV_OPT_TYPE_CONST, {1 << AVMEDIA_TYPE_VIDEO}, 0, 0, DEC,
"allowed_media_types" }, \
+ { "audio", "Audio", 0, AV_OPT_TYPE_CONST, {1 << AVMEDIA_TYPE_AUDIO}, 0, 0, DEC,
"allowed_media_types" }, \
+ { "data", "Data", 0, AV_OPT_TYPE_CONST, {1 << AVMEDIA_TYPE_DATA}, 0, 0, DEC,
"allowed_media_types" },
+
{ NULL },
};
I think these options could be shared with the SDP demuxer, too, so then
they should be defined in some #define above, and added to both
ff_rtsp_options and ff_sdp_options. (They don't really make sense for the
RTP guessing demuxer, which can only handle one single stream anyway.)
Other than that, I think it looks good, but a comment from Anton on the
AVOption style might be good.
// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel