[d3d11screencapturesrc] Having problems in screen capturing 3440x1440 resolution, other resolutions wokrs well.

Seungha Yang seungha at centricular.com
Wed Mar 8 20:34:24 UTC 2023


It looks like stride (or called pitch) mismatch. What's the consumer of "new pipeline" 
(how did you read the output buffer)? If it's not a D3D11-aware element/component, 
the "new pipeline" would not boost any performance.


Note that CPU read/writable memory layout of Direct3D11 memory might be different from
that of normal CPU memory. To read video memory, don't assume that stride/pitch is equal to width
but you should use gst_video_frame_map() or so.

Seungha

-----Original Message-----
From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> On Behalf Of Davide Perini via gstreamer-devel
Sent: Thursday, March 9, 2023 5:11 AM
To: gstreamer-devel at lists.freedesktop.org
Cc: Davide Perini <perini.davide at dpsoftware.org>
Subject: [d3d11screencapturesrc] Having problems in screen capturing 3440x1440 resolution, other resolutions wokrs well.

Hi all,
I'm screen capturing using GStreamer bindings for Java without problems since a lot of time, it works super awesome at all screen resolutions.

Love GStreamer and the Java Bindings for GStreamer. :) Thank you all for this awesome things.

I'm using a pipeline like this:
d3d11screencapturesrc monitor-handle={0} ! d3d11convert ! d3d11download ! video/x-raw(memory:SystemMemory),width=3440,height=1440
this pipeline works as expected.

I recently switched to this "new pipeline" that should be more optimized for the purpose:
d3d11screencapturesrc monitor-handle={0} ! d3d11convert ! 
video/x-raw(memory:D3D11Memory),width=3440,height=1440

this "new pipeline" works well at every screen resolutions except 3440x1440, I even tried another 21:9 resolution like 3840x1080 and it works well but not on 3440x1440.
All other screen resolutions works well.

This is so weird. My code should be ok since if I switch to the "older pipeline" all works well.

I took a screenshot at 3440x1440 when capturing the screen and the image is completely scrambled, I attach it.

I don't know how where to start finding for a solution.

Is this a problem related to the bindings? Is there some errors in my pipeline?

How can a pipeline works well at every screen resolutions and not at 3440x1440?

Thank you
Davide


More information about the gstreamer-devel mailing list