GNOME Bugzilla – Bug 776238
dvbsuboverlay: don't composite if cannot map frame
Last modified: 2018-11-03 14:02:08 UTC
If the frame to composite cannot be mapped, the frame is passed as is, wihtout blending the image, logging an info message.
Created attachment 342170 [details] [review] dvbsuboverlay: don't composite if cannot map frame
Review of attachment 342170 [details] [review]: ::: gst/dvbsuboverlay/gstdvbsuboverlay.c @@ +1135,3 @@ + } else { + GST_INFO_OBJECT (overlay, "could not map buffer to blend %" + GST_PTR_FORMAT, buffer); This should probably be an GST_ERROR_OBJECT()? Or even a real error message plus returning GST_FLOW_ERROR?
I don't think it should error out in this case, this is recoverable, it should just continue without blending the subs then imho.
(In reply to Tim-Philipp Müller from comment #3) > I don't think it should error out in this case, this is recoverable, it > should just continue without blending the subs then imho. I agree. And that's what the patch does: keeps working without subs while the frame cannot be mapped.
ping? @slomo, another reason to not raise an error is with non-mappable dmabuf-based buffers. Can we assume that all the buffers are non-mappable after the first tried and enable a passthrough mechanism?
I think this should be at least a GST_WARNING log message - this is not really ever expected under normal circumstances, is it? I don't think you can really make any assumptions about the next buffer based on a given buffer.
In normal circonstances, non-mappable dmaubuf will be delivered with the dmabuf caps feature. In that case, if downstream does not have composition meta, overlays should fail negotiation (an error). My opinion here is to return an error, since the resulting output will be incorrect. In practice, a warning will flood, since map failures in video is generally common to all buffers from the same pool / allocation.
Created attachment 350896 [details] [review] dvbsuboverlay: don't composite if cannot map frame If the frame to composite cannot be mapped, the frame is passed as is, wihtout blending the image, logging an info message.
Review of attachment 350896 [details] [review]: The commit message is out-dated now.
Created attachment 350900 [details] [review] dvbsuboverlay: fail if frame cannot be mapped If the frame to composite cannot be mapped, the elements post a error message in the bus and returns GST_FLOW_ERROR, stopping the pipeline.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/498.