basesink: Don't nest prepare/render calls
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Wed, 5 Oct 2016 18:26:11 +0000 (14:26 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 3 Nov 2016 17:19:46 +0000 (13:19 -0400)
commit5ca63b7f040892a153e0b84cd04d601d4a6089c6
tree43c55b256a0622e799a366877c7d401514de9238
parentc53b2e3740c0d52ad495a0de0ac057748933ba85
basesink: Don't nest prepare/render calls

When the first buffer arrives, we endup calling:

  ->prepare()
    ->prepare()
    ->preroll()
  ->render()

This will likely confuse any element using this method. With this patch,
we ensure the preroll take place before the first render prepare() is
called. This will result in:

  ->prepare()
  ->preroll()
  ->prepare()
  ->render()

https://bugzilla.gnome.org/show_bug.cgi?id=772468
libs/gst/base/gstbasesink.c