@ -68,10 +68,11 @@
{ " filter_src " , " only receive packets from the negotiated peer IP " , 0 , AV_OPT_TYPE_CONST , { . i64 = RTSP_FLAG_FILTER_SRC } , 0 , 0 , DEC , " rtsp_flags " }
# define RTSP_MEDIATYPE_OPTS(name, longname) \
{ name , longname , OFFSET ( media_type_mask ) , AV_OPT_TYPE_FLAGS , { . i64 = ( 1 < < ( AVMEDIA_TYPE_DATA + 1 ) ) - 1 } , INT_MIN , INT_MAX , DEC , " allowed_media_types " } , \
{ name , longname , OFFSET ( media_type_mask ) , AV_OPT_TYPE_FLAGS , { . i64 = ( 1 < < ( AVMEDIA_TYPE_SUBTITLE + 1 ) ) - 1 } , INT_MIN , INT_MAX , DEC , " allowed_media_types " } , \
{ " video " , " Video " , 0 , AV_OPT_TYPE_CONST , { . i64 = 1 < < AVMEDIA_TYPE_VIDEO } , 0 , 0 , DEC , " allowed_media_types " } , \
{ " audio " , " Audio " , 0 , AV_OPT_TYPE_CONST , { . i64 = 1 < < AVMEDIA_TYPE_AUDIO } , 0 , 0 , DEC , " allowed_media_types " } , \
{ " data " , " Data " , 0 , AV_OPT_TYPE_CONST , { . i64 = 1 < < AVMEDIA_TYPE_DATA } , 0 , 0 , DEC , " allowed_media_types " }
{ " data " , " Data " , 0 , AV_OPT_TYPE_CONST , { . i64 = 1 < < AVMEDIA_TYPE_DATA } , 0 , 0 , DEC , " allowed_media_types " } , \
{ " subtitle " , " Subtitle " , 0 , AV_OPT_TYPE_CONST , { . i64 = 1 < < AVMEDIA_TYPE_SUBTITLE } , 0 , 0 , DEC , " allowed_media_types " }
# define RTSP_REORDERING_OPTS() \
{ " reorder_queue_size " , " set number of packets to buffer for handling of reordered packets " , OFFSET ( reordering_queue_size ) , AV_OPT_TYPE_INT , { . i64 = - 1 } , - 1 , INT_MAX , DEC }
@ -399,6 +400,8 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
codec_type = AVMEDIA_TYPE_VIDEO ;
} else if ( ! strcmp ( st_type , " application " ) ) {
codec_type = AVMEDIA_TYPE_DATA ;
} else if ( ! strcmp ( st_type , " text " ) ) {
codec_type = AVMEDIA_TYPE_SUBTITLE ;
}
if ( codec_type = = AVMEDIA_TYPE_UNKNOWN | | ! ( rt - > media_type_mask & ( 1 < < codec_type ) ) ) {
s1 - > skip_media = 1 ;
@ -2372,7 +2375,7 @@ static int rtp_read_header(AVFormatContext *s)
/* sdp_read_header initializes this again */
ff_network_close ( ) ;
rt - > media_type_mask = ( 1 < < ( AVMEDIA_TYPE_DATA + 1 ) ) - 1 ;
rt - > media_type_mask = ( 1 < < ( AVMEDIA_TYPE_SUBTITLE + 1 ) ) - 1 ;
ret = sdp_read_header ( s ) ;
s - > pb = NULL ;