diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-11-22 13:06:44 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-11-22 13:06:44 +0000 |
commit | 054d1889ef28527b0f4bc8a6449b870cb0524212 (patch) | |
tree | 706ae314a903e1d40f5b02a91428c7dd0cd05b4c /libmpdemux/demux_lavf.c | |
parent | 4d55629cd6337598fb58fbf58b3fbe6e3f9d4850 (diff) | |
download | mpv-054d1889ef28527b0f4bc8a6449b870cb0524212.tar.bz2 mpv-054d1889ef28527b0f4bc8a6449b870cb0524212.tar.xz |
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
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r-- | libmpdemux/demux_lavf.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 4d4137babd..c338309eca 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -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); |