Revision d9c0510e libavformat/rtsp.c
libavformat/rtsp.c | ||
---|---|---|
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, |
Also available in: Unified diff