Пытаюсь написать простой видеоплеер на основе Qt+FFMpeg.
if(avformat_open_input(&pFormatCtx, filename.toStdString().c_str(), NULL, NULL)!=0)
return false; // Couldn't open file
if(avformat_find_stream_info(pFormatCtx, NULL)<0)
return false; // Couldn't find stream information
av_dump_format(pFormatCtx, 0, filename.toStdString().c_str(), false);
videoStream=-1;
ffmpeg::AVMediaType a = ffmpeg::AVMEDIA_TYPE_VIDEO;
for(unsigned i=0; i<pFormatCtx->nb_streams; i++)
if(pFormatCtx->streams[i]->codec->codec_type==ffmpeg::AVMEDIA_TYPE_VIDEO)
{
videoStream=i;
break;
}
if(videoStream==-1)
return false; // Didn't find a video stream
pCodecCtx=pFormatCtx->streams[videoStream]->codec;
pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
if(pCodec==NULL)
return false;
На последних строках оно валится, т.к. в codec_id вместо понятных ffmpeg обозначений (типа AV_CODEC_ID_MPEG2VIDEO) возвращает просто число (2147483648 например)
Кто-нибудь сталкивался?