52
52
rtpctx->last_rtcp_ntp_time = AV_NOPTS_VALUE;
53
53
rtpctx->first_rtcp_ntp_time = AV_NOPTS_VALUE;
54
54
rtpctx->base_timestamp = 0;
55
rtpctx->timestamp = 0;
56
rtpctx->unwrapped_timestamp = 0;
55
57
rtpctx->rtcp_ts_offset = 0;
383
380
RTSPState *rt = s->priv_data;
386
/* NOTE: it is valid to flush the buffer here */
387
if (rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP) {
388
avio_close(&rt->rtsp_gb);
391
382
ff_rtsp_send_cmd_async(s, "TEARDOWN", rt->control_uri, NULL);
393
384
ff_rtsp_close_streams(s);
401
static const AVOption options[] = {
402
{ "initial_pause", "Don't start playing the stream immediately", offsetof(RTSPState, initial_pause), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM },
406
392
const AVClass rtsp_demuxer_class = {
407
393
.class_name = "RTSP demuxer",
408
394
.item_name = av_default_item_name,
395
.option = ff_rtsp_options,
410
396
.version = LIBAVUTIL_VERSION_INT,
413
399
AVInputFormat ff_rtsp_demuxer = {
415
NULL_IF_CONFIG_SMALL("RTSP input format"),
401
.long_name = NULL_IF_CONFIG_SMALL("RTSP input format"),
402
.priv_data_size = sizeof(RTSPState),
403
.read_probe = rtsp_probe,
404
.read_header = rtsp_read_header,
405
.read_packet = rtsp_read_packet,
406
.read_close = rtsp_read_close,
407
.read_seek = rtsp_read_seek,
422
408
.flags = AVFMT_NOFILE,
423
409
.read_play = rtsp_read_play,
424
410
.read_pause = rtsp_read_pause,