VideoTexture: AVFormatContext::pb is not a pointer for avformat library older than 52 (linux uses 51)

This commit is contained in:
Benoit Bolsee 2008-11-01 17:15:17 +00:00
parent 4870db578b
commit e6a2ab319f
2 changed files with 12 additions and 2 deletions

@ -248,7 +248,13 @@ void VideoFFmpeg::openFile (char * filename)
// open base class
VideoBase::openFile(filename);
if (m_formatCtx->pb->is_streamed)
if (
#ifdef FFMPEG_PB_IS_POINTER
m_formatCtx->pb->is_streamed
#else
m_formatCtx->pb.is_streamed
#endif
)
{
// the file is in fact a streaming source, prevent seeking
m_isFile = false;
@ -265,7 +271,7 @@ void VideoFFmpeg::openCam (char * file, short camIdx)
AVInputFormat *inputFormat;
AVFormatParameters formatParams;
AVRational frameRate;
char filename[28], rateStr[20];
char *p, filename[28], rateStr[20];
do_init_ffmpeg();

@ -36,6 +36,10 @@ extern "C" {
#define FFMPEG_CODEC_IS_POINTER 1
#endif
#if LIBAVFORMAT_VERSION_INT >= (52 << 16)
#define FFMPEG_PB_IS_POINTER 1
#endif
#ifdef FFMPEG_CODEC_IS_POINTER
static inline AVCodecContext* get_codec_from_stream(AVStream* stream)
{