[Android] avcodec_flush_buffers() in avcodec module causes broken picture

Adrien Maglo magsoft at videolan.org
Wed Feb 27 17:25:46 CET 2013


On 27/02/2013 15:21, Rui Zhang wrote:
> Hello

Hello,

> I have been testing playing 720p video (FLV: H264+AAC) on Nexus S via
> customized vlc-android build (based on 0.0.9 release, libav-master.
> video and audio are both decoded with avcodec module.)
>
> I added some msleep() in http module to simulate a busy network. As
> expected, vlc-android prerolled very often. The point is that, after
> BLOCK_FLAG_DISCONTINUITY block is caught in avcodec decoder, if
> following frames are p-frames, there is a very high chance for decoder
> to send some broken pictures to vout until next I-frame data.
>
> After some attempt, I'm able to make output pictures much better (at
> least for my video sample) by revert the commit below
>
> http://git.videolan.org/?p=vlc.git;a=blobdiff;f=modules/codec/avcodec/video.c;h=0b8ce63b7cd01af933535cb36ba6d1d5842fd45a;hp=ad71de551861451404798060f74b93bd4aafd956;hb=4979e6d702eab1973dfee025c492bb3f945363e0;hpb=27e306df96c937068816685406593e980a53a585

I think you should ask your question on the vlc-devel@ mailing-list 
since it does not only concern vlc-android. You would also have more 
chance to get interesting feedback.

Best regards,


-- 
MagSoft


More information about the Android mailing list