Hope, my experience can help
AVInputFormat* fmt = av_find_input_format( format.c_str() );
if( fmt == NULL )
{
logger << "ERROR: could not open format " << format << endl;
status = InitFailure;
}
else
{
fmt->flags |= AVFMT_NOFILE;
io = new ByteIOContext();
io->is_streamed = 1;
const int bufSize = 10240;
avProbeDataBuf = new unsigned char[bufSize];
AVProbeData pd;
pd.buf = avProbeDataBuf;
memset(pd.buf, bufSize, 0);
pd.buf_size = bufSize;
pd.filename = "";
if( 0 != init_put_byte(io, pd.buf, pd.buf_size, 0,
reinterpret_cast<void*>(this), ffmpegIOContextReadWritePacket, NULL, NULL) )
{
logger << "ERROR: init_put_byte error" << endl;
status = InitFailure;
}
else if( 0 != av_open_input_stream(&pFormatCtx, io, "", fmt, NULL) )
{
logger << "ERROR: failed to open input stream." << endl;
status = InitFailure;
}
}
}
On Sun, Mar 6, 2011 at 2:55 AM, Jonathan Baldwin <[email protected]>wrote:
> How would I go about creating a AVIOContext/ByteIOContext structure
> instance
> that wraps custom read/write routines?
>
> Many thanks,
> Jonathan Baldwin
> _______________________________________________
> libav-user mailing list
> [email protected]
> https://lists.mplayerhq.hu/mailman/listinfo/libav-user
>
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user