273 |
273 |
s1->default_ip = sdp_ip;
|
274 |
274 |
s1->default_ttl = ttl;
|
275 |
275 |
} else {
|
276 |
|
st = s->streams[s->nb_streams - 1];
|
277 |
|
rtsp_st = st->priv_data;
|
|
276 |
rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];
|
278 |
277 |
rtsp_st->sdp_ip = sdp_ip;
|
279 |
278 |
rtsp_st->sdp_ttl = ttl;
|
280 |
279 |
}
|
... | ... | |
326 |
325 |
st = av_new_stream(s, 0);
|
327 |
326 |
if (!st)
|
328 |
327 |
return;
|
329 |
|
st->priv_data = rtsp_st;
|
330 |
328 |
rtsp_st->stream_index = st->index;
|
331 |
329 |
st->codec->codec_type = codec_type;
|
332 |
330 |
if (rtsp_st->sdp_payload_type < RTP_PT_PRIVATE) {
|
... | ... | |
355 |
353 |
} else {
|
356 |
354 |
char proto[32];
|
357 |
355 |
/* get the control url */
|
358 |
|
st = s->streams[s->nb_streams - 1];
|
359 |
|
rtsp_st = st->priv_data;
|
|
356 |
rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];
|
360 |
357 |
|
361 |
358 |
/* XXX: may need to add full url resolution */
|
362 |
359 |
av_url_split(proto, sizeof(proto), NULL, 0, NULL, 0,
|
... | ... | |
377 |
374 |
get_word(buf1, sizeof(buf1), &p);
|
378 |
375 |
payload_type = atoi(buf1);
|
379 |
376 |
st = s->streams[s->nb_streams - 1];
|
380 |
|
rtsp_st = st->priv_data;
|
|
377 |
rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];
|
381 |
378 |
sdp_parse_rtpmap(s, st, rtsp_st, payload_type, p);
|
382 |
379 |
} else if (av_strstart(p, "fmtp:", &p) ||
|
383 |
380 |
av_strstart(p, "framesize:", &p)) {
|
... | ... | |
385 |
382 |
// let dynamic protocol handlers have a stab at the line.
|
386 |
383 |
get_word(buf1, sizeof(buf1), &p);
|
387 |
384 |
payload_type = atoi(buf1);
|
388 |
|
for (i = 0; i < s->nb_streams; i++) {
|
389 |
|
st = s->streams[i];
|
390 |
|
rtsp_st = st->priv_data;
|
|
385 |
for (i = 0; i < rt->nb_rtsp_streams; i++) {
|
|
386 |
rtsp_st = rt->rtsp_streams[i];
|
391 |
387 |
if (rtsp_st->sdp_payload_type == payload_type &&
|
392 |
388 |
rtsp_st->dynamic_handler &&
|
393 |
389 |
rtsp_st->dynamic_handler->parse_sdp_a_line)
|
... | ... | |
417 |
413 |
if (rt->server_type == RTSP_SERVER_REAL)
|
418 |
414 |
ff_real_parse_sdp_a_line(s, s->nb_streams - 1, p);
|
419 |
415 |
|
420 |
|
rtsp_st = s->streams[s->nb_streams - 1]->priv_data;
|
|
416 |
rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];
|
421 |
417 |
if (rtsp_st->dynamic_handler &&
|
422 |
418 |
rtsp_st->dynamic_handler->parse_sdp_a_line)
|
423 |
419 |
rtsp_st->dynamic_handler->parse_sdp_a_line(s,
|