[FFmpeg-devel] Reopenning streams with av_open_input_file
Ratin
ratin3 at gmail.com
Thu Jan 12 03:28:47 CET 2012
I have a query regarding re-openning streams but not overwrite whats
already has been populated inside AVFormatContext. Lets say we have
opened a file stream (could be an RTMP stream) and we successfully
populated the format context and the codec context
(pFormatCtx->streams[streamIndex]->codec) within it are going to be
used elsewhere. Then at some point connection breaks and we want to
re-connect to the stream but we want to reuse the format context from
before keeping most of the data within pFormatCtx intact (specially
the same pointer pFormatCtx->streams[streamIndex]->codec needs to
remain allocated). What will be the consequence of doing the
following, i.e. could there possibly any memory leaks?
if (bTimeout)
{
if (pFFContext->pFormatCtx) av_close_input_file(
pFFContext->pFormatCtx);
AVFormatParameters fp;
fp.prealloced_context=1;
if(av_open_input_file(&pFFContext->pFormatCtx,
pSourceInfo->url, NULL, 0, &fp )!=0)
//"rtmp://blah.blah.blah/live/livestream"
{
printf("\nCould not open url %s\n", pSourceInfo->url);
}
}
I know that there is a NULL check and if pFFContext->pFormatCtx
that it wont reallocate if a non-NULL pointer is provided.
More information about the ffmpeg-devel
mailing list