mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-09 00:45:56 +00:00
compositor: fix prepare_frame obscuring check
A pad without a buffer or with a GAP buffer cannot obscure a pad below it. Ignore those when considering whether a pad should be drawn. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
This commit is contained in:
parent
cc3a79d7f1
commit
7988acad36
1 changed files with 14 additions and 0 deletions
|
@ -575,6 +575,20 @@ gst_compositor_pad_prepare_frame_start (GstVideoAggregatorPad * pad,
|
|||
if (l)
|
||||
l = l->next;
|
||||
for (; l; l = l->next) {
|
||||
GstBuffer *pad_buffer;
|
||||
|
||||
pad_buffer =
|
||||
gst_video_aggregator_pad_get_current_buffer (GST_VIDEO_AGGREGATOR_PAD
|
||||
(l->data));
|
||||
|
||||
if (pad_buffer == NULL)
|
||||
continue;
|
||||
|
||||
if (gst_buffer_get_size (pad_buffer) == 0 &&
|
||||
GST_BUFFER_FLAG_IS_SET (pad_buffer, GST_BUFFER_FLAG_GAP)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_pad_obscures_rectangle (vagg, l->data, frame_rect)) {
|
||||
frame_obscured = TRUE;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue