parent
ead8c83b09
commit
419d0a8021
@ -0,0 +1,25 @@
|
|||||||
|
--- gst-libav-1.12.3.orig/ext/libav/gstavviddec.c 2017-08-10 17:56:34.000000000 +0200
|
||||||
|
+++ gst-libav-1.12.3.orig/ext/libav/gstavviddec.c 2017-11-04 21:48:00.784354386 +0100
|
||||||
|
@@ -1525,8 +1525,20 @@
|
||||||
|
* See https://bugzilla.gnome.org/show_bug.cgi?id=726020
|
||||||
|
*/
|
||||||
|
GST_VIDEO_DECODER_STREAM_UNLOCK (ffmpegdec);
|
||||||
|
- len = avcodec_decode_video2 (ffmpegdec->context,
|
||||||
|
- ffmpegdec->picture, have_data, &packet);
|
||||||
|
+ *have_data = 0;
|
||||||
|
+ if (size > 0) {
|
||||||
|
+ len = avcodec_send_packet(ffmpegdec->context, &packet);
|
||||||
|
+ if (len == AVERROR(EAGAIN)) {
|
||||||
|
+ len = 0;
|
||||||
|
+ } else {
|
||||||
|
+ len = size;
|
||||||
|
+ }
|
||||||
|
+ if (len >= 0) {
|
||||||
|
+ int result = avcodec_receive_frame(ffmpegdec->context, ffmpegdec->picture);
|
||||||
|
+ if (result == 0)
|
||||||
|
+ *have_data = 1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
GST_VIDEO_DECODER_STREAM_LOCK (ffmpegdec);
|
||||||
|
|
||||||
|
GST_DEBUG_OBJECT (ffmpegdec, "after decode: len %d, have_data %d",
|
Loading…
Reference in new issue