Access violation (0x0000005C) when calling avcodec_decode_video2

0

I'm receving RTP Data in a buffer and trying to decode the data inside this buffer using avcodec_decode_video2(). However I seem to be getting an error when calling this function:

Exception thrown at 0x10086F50 (avcodec-57.dll) in RTSP Video Application.exe: 0xC0000005: Access violation reading location 0x0000005C.

void video_decode(unsigned char * RTPData)
{
    AVCodecContext  *m_pCodecCtx;
    AVCodec         *m_pCodec;
    AVFrame         *m_pFrame;

    m_pCodec = avcodec_find_decoder(AV_CODEC_ID_H264);
    m_pCodecCtx = avcodec_alloc_context3(m_pCodec);
    avcodec_open2(m_pCodecCtx, m_pCodec, 0);

    m_pFrame = av_frame_alloc();

    AVPacket        packet;
    av_init_packet(&packet);

    packet.data = RTPData;
    packet.size = (int)sizeof(RTPData);

    packet.flags |= AV_PKT_FLAG_KEY;

    int framefinished = 0;

    avcodec_decode_video2(m_pCodecCtx, m_pFrame, &framefinished, &packet);
}

Edit: Is this function the correct way to decode RTP Data, and if so, why am I getting an Access violation when calling avcodec_decode_video2()?

c++
rtsp
rtp
asked on Stack Overflow Apr 8, 2018 by Curtis Dransfield • edited Apr 8, 2018 by Curtis Dransfield

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0