projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improved plugins with added Tumbler box and visible values
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
ffmpeg.C
diff --git
a/cinelerra-5.1/cinelerra/ffmpeg.C
b/cinelerra-5.1/cinelerra/ffmpeg.C
index a4a385cdf83b5fbe72ed245ac581b0685bfb673b..3655d643fb097f4f954c768aeabf26bef44e6e60 100644
(file)
--- a/
cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/
cinelerra-5.1/cinelerra/ffmpeg.C
@@
-29,7
+29,9
@@
#include "ffmpeg.h"
#include "indexfile.h"
#include "interlacemodes.h"
#include "ffmpeg.h"
#include "indexfile.h"
#include "interlacemodes.h"
+#ifdef HAVE_DV
#include "libdv.h"
#include "libdv.h"
+#endif
#include "libmjpeg.h"
#include "mainerror.h"
#include "mwindow.h"
#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;
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;
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;
ret = -1;
ret = ret > 0 ? 1 : ret < 0 ? -1 : 0;
+ av_frame_free(&frame);
return ret;
}
return ret;
}