mirror of https://git.ffmpeg.org/ffmpeg.git
ffplay: autodetect realtime streams and enable infbuf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
cb3fd029b7
commit
2e8dcde1fe
19
ffplay.c
19
ffplay.c
|
@ -2363,6 +2363,22 @@ static int decode_interrupt_cb(void *ctx)
|
||||||
return is->abort_request;
|
return is->abort_request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int is_realtime(AVFormatContext *s)
|
||||||
|
{
|
||||||
|
if( !strcmp(s->iformat->name, "rtp")
|
||||||
|
|| !strcmp(s->iformat->name, "rtsp")
|
||||||
|
|| !strcmp(s->iformat->name, "sdp")
|
||||||
|
)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if(s->pb && ( !strncmp(s->filename, "rtp:", 4)
|
||||||
|
|| !strncmp(s->filename, "udp:", 4)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* this thread gets the stream from the disk or the network */
|
/* this thread gets the stream from the disk or the network */
|
||||||
static int read_thread(void *arg)
|
static int read_thread(void *arg)
|
||||||
{
|
{
|
||||||
|
@ -2485,6 +2501,9 @@ static int read_thread(void *arg)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (infinite_buffer < 0 && is_realtime(ic))
|
||||||
|
infinite_buffer = 1;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (is->abort_request)
|
if (is->abort_request)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue