I'm working on an application where if a UDP transport stream is lost/dropped 
for some time, I want to insert blank frames of video and silence for 
audio.

My calling sequence looks like this (inside a loop):

av_read_frame(m_formatInfo, &packet);
...
avcodec_get_frame_defaults(&frame);
avcodec_decode_video2(videoCodecInfo, &frame, &frameFinished, &packet);
...
converter = sws_getContext(...
sws_scale(converter,...

My question is: in this sequence, how do I generate a blank (black) frame 
instead of doing
the above sequence?  If the stream is lost, av_read_frame() just hangs out & I 
would like to create
blank frames in a separate thread.  I tried just creating an output buffer, same
size I get back from sws_scale() and doing a memset() 0 on it, but then my 
player plays a green frame for
that video.  I looked through the libavfilter/vf_blackframe.c code, but that is 
different from what I want
to do.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to