[Libav-user] codecpar returns NULL

Patrick Cusack patrickcusack at mac.com
Tue Apr 14 18:44:41 EEST 2020

I have some code that worked without issue up until now. When I pass a file path into avformat_open_input  I can create a pFormatCtx, but none of the streams have any codec information associated with them, ie pFormatCtx->streams[i]->codecpar is null. I assume that my codecs are not being opened? I know that av_register_all() is deprecated, but otherwise avformat_open_input doesn’t work. I am using 3.4.2 of ffmpeg. Any assistance is appreciated.


    int error = avformat_open_input(&pFormatCtx, filePath, NULL, NULL);
    if(error != 0){
        char * errorString= (char*)malloc(AV_ERROR_MAX_STRING_SIZE);
        (void) av_strerror(error, errorString, AV_ERROR_MAX_STRING_SIZE);
        printf("%s\n", errorString);
        status = K_CANT_OPEN_FILE; // Couldn't open file
    if(avformat_find_stream_info(pFormatCtx, NULL)<0){
       status = K_NO_STREAM_INFO;  //NO STREAM INFO

    videoStream = -1;
    for(i = 0; i < pFormatCtx->nb_streams; i++){
        AVStream * stream = pFormatCtx->streams[i];
        if(pFormatCtx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {. // <—codecpar is NULL
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20200414/941732ae/attachment.html>

More information about the Libav-user mailing list