diff options
author | Wang Xin-yu (王昕宇) <comicfans44@gmail.com> | 2016-02-24 10:45:17 +0800 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2016-02-24 18:27:44 +1100 |
commit | 96ac4af7bfda488a44eb2fe99c48091361e5918f (patch) | |
tree | 2575ce77fee72487cb78200177e085c1744bd8b0 /ext | |
parent | fd42320ec18a82e9c578c9639a4cefb6f02d786e (diff) |
glmixer: iterator didn't advance in continue statement
Leading to a deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=760873
Diffstat (limited to 'ext')
-rw-r--r-- | ext/gl/gstglmosaic.c | 1 | ||||
-rw-r--r-- | ext/gl/gstglstereomix.c | 1 | ||||
-rw-r--r-- | ext/gl/gstglvideomixer.c | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/ext/gl/gstglmosaic.c b/ext/gl/gstglmosaic.c index 83ac79810..377f71869 100644 --- a/ext/gl/gstglmosaic.c +++ b/ext/gl/gstglmosaic.c @@ -299,6 +299,7 @@ gst_gl_mosaic_callback (gpointer stuff) GST_DEBUG ("skipping texture:%u pad:%p width:%u height %u", in_tex, pad, width, height); count++; + walk = g_list_next (walk); continue; } diff --git a/ext/gl/gstglstereomix.c b/ext/gl/gstglstereomix.c index fee1080c2..ed604b2c8 100644 --- a/ext/gl/gstglstereomix.c +++ b/ext/gl/gstglstereomix.c @@ -505,6 +505,7 @@ gst_gl_stereo_mix_process_frames (GstGLStereoMix * mixer) if (!pad || !pad->current_buffer) { GST_DEBUG ("skipping texture, null frame"); + walk = g_list_next (walk); continue; } diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c index e48151bd0..72ad8c232 100644 --- a/ext/gl/gstglvideomixer.c +++ b/ext/gl/gstglvideomixer.c @@ -1437,11 +1437,13 @@ gst_gl_video_mixer_callback (gpointer stuff) || pad->alpha == 0.0f) { GST_DEBUG ("skipping texture:%u pad:%p width:%u height:%u alpha:%f", mix_pad->current_texture, pad, in_width, in_height, pad->alpha); + walk = g_list_next (walk); continue; } if (!_set_blend_state (video_mixer, pad)) { GST_FIXME_OBJECT (pad, "skipping due to incorrect blend parameters"); + walk = g_list_next (walk); continue; } |