fix: build errors and add support for Qt6

This commit is contained in:
Joao Carreira
2023-03-28 01:07:32 +01:00
parent cbefa2be2e
commit acb04c2360
22 changed files with 13978 additions and 14748 deletions
+14 -13
View File
@@ -298,10 +298,10 @@ bool StreamHandlerLibav::openHandler( std::string strFilename, bool bInput )
m_uiFrameBufferSize = av_image_get_buffer_size( AVPixelFormat( m_ffPixFmt ), m_uiWidth, m_uiHeight, 1 );
/* initialize packet, set data to NULL, let the demuxer fill it */
av_init_packet( &m_cPacket );
m_cPacket.data = NULL;
m_cPacket.size = 0;
m_cOrgPacket = m_cPacket;
m_cPacket = av_packet_alloc();
m_cPacket->data = NULL;
m_cPacket->size = 0;
m_cOrgPacket = *m_cPacket;
m_bHasStream = true;
return true;
@@ -318,6 +318,7 @@ void StreamHandlerLibav::closeHandler()
avformat_close_input( &m_cFmtCtx );
av_free( m_cFrame );
av_packet_free( &m_cPacket );
}
m_bHasStream = false;
}
@@ -375,13 +376,13 @@ bool StreamHandlerLibav::read( CalypFrame& pcFrame )
bGotFrame = 1;
}
#else
if( m_cPacket.stream_index == m_iStreamIdx )
if( m_cPacket->stream_index == m_iStreamIdx )
{
if( ( iRet = avcodec_decode_video2( m_cCodedCtx, m_cFrame, &bGotFrame, &m_cPacket ) ) < 0 )
if( ( iRet = avcodec_decode_video2( m_cCodedCtx, m_cFrame, &bGotFrame, m_cPacket ) ) < 0 )
return false;
m_cPacket.data += iRet;
m_cPacket.size -= iRet;
if( m_cPacket.size <= 0 )
m_cPacket->data += iRet;
m_cPacket->size -= iRet;
if( m_cPacket->size <= 0 )
{
bReadPkt = true;
av_packet_unref( &m_cOrgPacket );
@@ -394,7 +395,7 @@ bool StreamHandlerLibav::read( CalypFrame& pcFrame )
{
bReadPkt = false;
av_packet_unref( &m_cOrgPacket );
if( ( iRet = av_read_frame( m_cFmtCtx, &m_cPacket ) ) < 0 )
if( ( iRet = av_read_frame( m_cFmtCtx, m_cPacket ) ) < 0 )
{
if( iRet == AVERROR_EOF )
{
@@ -403,10 +404,10 @@ bool StreamHandlerLibav::read( CalypFrame& pcFrame )
}
return false;
}
m_cOrgPacket = m_cPacket;
m_cOrgPacket = *m_cPacket;
#ifdef FF_SEND_RECEIVE_API
if( m_cPacket.stream_index == m_iStreamIdx )
if( ( iRet = avcodec_send_packet( m_cCodedCtx, &m_cPacket ) ) < 0 )
if( m_cPacket->stream_index == m_iStreamIdx )
if( ( iRet = avcodec_send_packet( m_cCodedCtx, m_cPacket ) ) < 0 )
return false;
#endif
}