[FFmpeg-devel] [PATCH] ffmpeg;	check return code of avcodec_send_frame when flushing encoders
    Michael Niedermayer 
    michael at niedermayer.cc
       
    Tue Apr 18 13:17:45 EEST 2017
    
    
  
On Tue, Apr 18, 2017 at 07:09:30AM +0200, Nicolas George wrote:
> Le nonidi 29 germinal, an CCXXV, Michael Niedermayer a écrit :
> > > +                while ((ret = avcodec_receive_packet(enc, &pkt)) == AVERROR(EAGAIN)) {
> > > +                    ret = avcodec_send_frame(enc, NULL);
> 
> The doc says:
> 
> # The functions will not return AVERROR(EAGAIN), unless you forgot to
> # enter draining mode.
The full paragraph in the docs which you qoted from says this:
 * - Call avcodec_receive_frame() (decoding) or avcodec_receive_packet()
 *   (encoding) in a loop until AVERROR_EOF is returned. The functions will
 *   not return AVERROR(EAGAIN), unless you forgot to enter draining mode.
the patch adds a check to avcodec_send_frame()
> 
> > can the code be changed to not require this ?
> 
> I would say the code does not require this as is.
For decoding theres an explicit
"Sending the first flush packet will return success."
I cannot find similar for encoding, which is the case the patch changes
and what i think should be fixed if possible as it would be simpler,
making the patch unneeded.
Its quite possible iam missing something that makes it uneeded though
[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Those who are best at talking, realize last or never when they are wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170418/e20d1e51/attachment.sig>
    
    
More information about the ffmpeg-devel
mailing list