rtsp: parse lang attribute in SDP
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
1ec28a66f2
commit
4438d1c6ed
@ -470,6 +470,8 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
|
|||||||
handler->init(s, st->index,
|
handler->init(s, st->index,
|
||||||
rtsp_st->dynamic_protocol_context);
|
rtsp_st->dynamic_protocol_context);
|
||||||
}
|
}
|
||||||
|
if (rt->default_lang[0])
|
||||||
|
av_dict_set(&st->metadata, "language", rt->default_lang, 0);
|
||||||
}
|
}
|
||||||
/* put a default control url */
|
/* put a default control url */
|
||||||
av_strlcpy(rtsp_st->control_url, rt->control_uri,
|
av_strlcpy(rtsp_st->control_url, rt->control_uri,
|
||||||
@ -533,6 +535,16 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
|
|||||||
/* AV_NOPTS_VALUE means live broadcast (and can't seek) */
|
/* AV_NOPTS_VALUE means live broadcast (and can't seek) */
|
||||||
s->duration = (end == AV_NOPTS_VALUE) ?
|
s->duration = (end == AV_NOPTS_VALUE) ?
|
||||||
AV_NOPTS_VALUE : end - start;
|
AV_NOPTS_VALUE : end - start;
|
||||||
|
} else if (av_strstart(p, "lang:", &p)) {
|
||||||
|
if (s->nb_streams > 0) {
|
||||||
|
get_word(buf1, sizeof(buf1), &p);
|
||||||
|
rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];
|
||||||
|
if (rtsp_st->stream_index >= 0) {
|
||||||
|
st = s->streams[rtsp_st->stream_index];
|
||||||
|
av_dict_set(&st->metadata, "language", buf1, 0);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
get_word(rt->default_lang, sizeof(rt->default_lang), &p);
|
||||||
} else if (av_strstart(p, "IsRealDataType:integer;",&p)) {
|
} else if (av_strstart(p, "IsRealDataType:integer;",&p)) {
|
||||||
if (atoi(p) == 1)
|
if (atoi(p) == 1)
|
||||||
rt->transport = RTSP_TRANSPORT_RDT;
|
rt->transport = RTSP_TRANSPORT_RDT;
|
||||||
|
@ -395,6 +395,8 @@ typedef struct RTSPState {
|
|||||||
* Size of RTP packet reordering queue.
|
* Size of RTP packet reordering queue.
|
||||||
*/
|
*/
|
||||||
int reordering_queue_size;
|
int reordering_queue_size;
|
||||||
|
|
||||||
|
char default_lang[4];
|
||||||
} RTSPState;
|
} RTSPState;
|
||||||
|
|
||||||
#define RTSP_FLAG_FILTER_SRC 0x1 /**< Filter incoming UDP packets -
|
#define RTSP_FLAG_FILTER_SRC 0x1 /**< Filter incoming UDP packets -
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_MAJOR 56
|
#define LIBAVFORMAT_VERSION_MAJOR 56
|
||||||
#define LIBAVFORMAT_VERSION_MINOR 12
|
#define LIBAVFORMAT_VERSION_MINOR 12
|
||||||
#define LIBAVFORMAT_VERSION_MICRO 0
|
#define LIBAVFORMAT_VERSION_MICRO 1
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||||
LIBAVFORMAT_VERSION_MINOR, \
|
LIBAVFORMAT_VERSION_MINOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user