comparison libmpdemux/demux_lavf.c @ 29295:25283dc2a86b

100l, do not read probe buffer if it will not be used because a format was forced.
author reimar
date Mon, 01 Jun 2009 09:39:02 +0000
parents 4a1c217a844b
children 8fa7fb4ae9ef
comparison
equal deleted inserted replaced
29294:db9452d408e5 29295:25283dc2a86b
139 demuxer->priv=calloc(sizeof(lavf_priv_t),1); 139 demuxer->priv=calloc(sizeof(lavf_priv_t),1);
140 priv= demuxer->priv; 140 priv= demuxer->priv;
141 141
142 av_register_all(); 142 av_register_all();
143 143
144 if (opt_format) {
145 if (strcmp(opt_format, "help") == 0) {
146 list_formats();
147 return 0;
148 }
149 priv->avif= av_find_input_format(opt_format);
150 if (!priv->avif) {
151 mp_msg(MSGT_DEMUX,MSGL_FATAL,"Unknown lavf format %s\n", opt_format);
152 return 0;
153 }
154 mp_msg(MSGT_DEMUX,MSGL_INFO,"Forced lavf %s demuxer\n", priv->avif->long_name);
155 return DEMUXER_TYPE_LAVF;
156 }
157
144 if(stream_read(demuxer->stream, buf, PROBE_BUF_SIZE)!=PROBE_BUF_SIZE) 158 if(stream_read(demuxer->stream, buf, PROBE_BUF_SIZE)!=PROBE_BUF_SIZE)
145 return 0; 159 return 0;
146 avpd.filename= demuxer->stream->url; 160 avpd.filename= demuxer->stream->url;
147 avpd.buf= buf; 161 avpd.buf= buf;
148 avpd.buf_size= PROBE_BUF_SIZE; 162 avpd.buf_size= PROBE_BUF_SIZE;
149 163
150 if (opt_format) {
151 if (strcmp(opt_format, "help") == 0) {
152 list_formats();
153 return 0;
154 }
155 priv->avif= av_find_input_format(opt_format);
156 if (!priv->avif) {
157 mp_msg(MSGT_DEMUX,MSGL_FATAL,"Unknown lavf format %s\n", opt_format);
158 return 0;
159 }
160 mp_msg(MSGT_DEMUX,MSGL_INFO,"Forced lavf %s demuxer\n", priv->avif->long_name);
161 return DEMUXER_TYPE_LAVF;
162 }
163 priv->avif= av_probe_input_format(&avpd, 1); 164 priv->avif= av_probe_input_format(&avpd, 1);
164 if(!priv->avif){ 165 if(!priv->avif){
165 mp_msg(MSGT_HEADER,MSGL_V,"LAVF_check: no clue about this gibberish!\n"); 166 mp_msg(MSGT_HEADER,MSGL_V,"LAVF_check: no clue about this gibberish!\n");
166 return 0; 167 return 0;
167 }else 168 }else