mirror of
https://github.com/mpv-player/mpv
synced 2024-10-22 08:51:57 +02:00
Reuse buffer in priv context instead of allocating the 32kB probe buffer
on the stack. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29953 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
4d55629cd6
commit
054d1889ef
@ -67,7 +67,7 @@ typedef struct lavf_priv_t{
|
||||
AVInputFormat *avif;
|
||||
AVFormatContext *avfc;
|
||||
ByteIOContext *pb;
|
||||
uint8_t buffer[BIO_BUFFER_SIZE];
|
||||
uint8_t buffer[FFMAX(BIO_BUFFER_SIZE, PROBE_BUF_SIZE)];
|
||||
int audio_streams;
|
||||
int video_streams;
|
||||
int sub_streams;
|
||||
@ -131,7 +131,6 @@ static void list_formats(void) {
|
||||
|
||||
static int lavf_check_file(demuxer_t *demuxer){
|
||||
AVProbeData avpd;
|
||||
uint8_t buf[PROBE_BUF_SIZE];
|
||||
lavf_priv_t *priv;
|
||||
int probe_data_size;
|
||||
|
||||
@ -155,11 +154,11 @@ static int lavf_check_file(demuxer_t *demuxer){
|
||||
return DEMUXER_TYPE_LAVF;
|
||||
}
|
||||
|
||||
probe_data_size = stream_read(demuxer->stream, buf, PROBE_BUF_SIZE);
|
||||
probe_data_size = stream_read(demuxer->stream, priv->buffer, PROBE_BUF_SIZE);
|
||||
if(probe_data_size <= 0)
|
||||
return 0;
|
||||
avpd.filename= demuxer->stream->url;
|
||||
avpd.buf= buf;
|
||||
avpd.buf= priv->buffer;
|
||||
avpd.buf_size= probe_data_size;
|
||||
|
||||
priv->avif= av_probe_input_format(&avpd, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user