rest of Termux related mods from Andrew
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / ffmpeg.C
index a4a385cdf83b5fbe72ed245ac581b0685bfb673b..3655d643fb097f4f954c768aeabf26bef44e6e60 100644 (file)
@@ -29,7 +29,9 @@
 #include "ffmpeg.h"
 #include "indexfile.h"
 #include "interlacemodes.h"
+#ifdef HAVE_DV
 #include "libdv.h"
+#endif
 #include "libmjpeg.h"
 #include "mainerror.h"
 #include "mwindow.h"
@@ -603,6 +605,7 @@ int FFStream::encode_frame(AVFrame *frame)
                        ret = avcodec_send_frame(avctx, frame);
                if( !ret && frame ) return pkts;
                if( ret < 0 && ret != AVERROR(EAGAIN) ) break;
+               if ( ret == AVERROR(EAGAIN) && !frame ) continue;
                FFPacket opkt;
                ret = avcodec_receive_packet(avctx, opkt);
                if( !frame && ret == AVERROR_EOF ) return pkts;
@@ -1243,6 +1246,7 @@ int FFVideoStream::probe(int64_t pos)
                ret = -1;
 
        ret = ret > 0 ? 1 : ret < 0 ? -1 : 0;
+       av_frame_free(&frame);
        return ret;
 }