0002-set-init-buffer-to-black.patch 846 B

12345678910111213141516171819202122
  1. --- a/sys/kms/gstkmssink.c 2020-10-26 19:14:46.656235000 +0800
  2. +++ b/sys/kms/gstkmssink.c 2021-12-16 15:35:15.590755066 +0800
  3. @@ -450,6 +450,19 @@
  4. goto bo_failed;
  5. fb_id = kmsmem->fb_id;
  6. + GST_INFO_OBJECT (self, "size = %d, width = %d, height = %d.", vinfo->size, vinfo->width, vinfo->height);
  7. + if (vinfo->size == vinfo->width * vinfo->height * 3 / 2) {
  8. + GstMapInfo mapInfo;
  9. + if (gst_memory_map((GstMemory *)kmsmem, &mapInfo, GST_MAP_WRITE)) {
  10. + guint8 *start = mapInfo.data + vinfo->width * vinfo->height;
  11. + guint32 size = vinfo->width * vinfo->height / 2;
  12. + GST_INFO_OBJECT (self, "Set buffer to blank.");
  13. + memset(start, 128, size);
  14. + gst_memory_unmap((GstMemory *)kmsmem, &mapInfo);
  15. + }
  16. + }
  17. +
  18. +
  19. conn = drmModeGetConnector (self->fd, self->conn_id);
  20. if (!conn)
  21. goto connector_failed;