[FFmpeg-devel] MJPEG other RTP and av_find_stream_info() problem

Kevin Baradon kevin.baradon
Fri Feb 19 17:32:43 CET 2010


I've implemented playing of MJPEG other RTP (RTSP) streams in ffmpeg  
(patch will be submitted when stable), but I'm facing a problem.

In my test program, I first open stream using av_open_input_file(),  
and then call av_find_stream_info() to retrieve stream information.  
But the latter blocks for at least 45 seconds before showing message :
     [rtsp @ 8317920]MAX_READ_SIZE:5000000 reached

After that, test program correctly decodes and shows stream.

As a workaround, I set
     AVFormatContext::probesize = 1;
before calling av_find_stream_info(). But I wonder if this is the  
right thing to do.

MJPEG RTP demuxer currently sets the following parameters extracted  
from headers :
- AVStream::codec->width
- AVStream::codec->height
- AVStream::codec->pix_fmt
MJPEG other RTP don't carry frame rate information in headers. If this  
information is needed, I can compute it using RTP packet timestamps (I  
tried to fill AVStream::r_frame_rate with correct value without  

Is there any other fields in AVStream structure to fill to avoid  
av_find_stream_info() parsing stream to guess its parameters ?

Thank you for your answer.

Video stream is MJPEG, 25fps, 320x240
Platform is x86 using QNX 6.4.1 (compiled using --target-os=linux)

Kevin Baradon
Embedded systems engineer

More information about the ffmpeg-devel mailing list