# I’m trying to composite two D3D11 video streams in GStreamer on Windows using d3d11compositor

**URL:** https://discourse.gstreamer.org/t/i-m-trying-to-composite-two-d3d11-video-streams-in-gstreamer-on-windows-using-d3d11compositor/5808
**Category:** Application Development
**Tags:** windows
**Created:** [May 7, 2026, 3:07pm UTC](https://discourse.gstreamer.org/t/i-m-trying-to-composite-two-d3d11-video-streams-in-gstreamer-on-windows-using-d3d11compositor/5808 "2026-05-07T15:07:06Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![oleksii](https://discourse.gstreamer.org/letter_avatar_proxy/v4/letter/o/9de053/32.png) [@oleksii](https://discourse.gstreamer.org/u/oleksii)
#### Post date: [May 7, 2026, 3:07pm UTC](https://discourse.gstreamer.org/t/i-m-trying-to-composite-two-d3d11-video-streams-in-gstreamer-on-windows-using-d3d11compositor/5808/1 "2026-05-07T15:07:06Z")

</div>

I’m trying to composite two D3D11 video streams in GStreamer on Windows using `d3d11compositor`.

Pipeline structure:

- Main stream:  
UDP RTP H265 → `rtpjitterbuffer` → `rtph265depay` → `h265parse` → `d3d11h265dec` → `d3d11convert` → `d3d11compositor`

- Overlay stream:  
`videotestsrc` → `videoconvert` → `d3d11upload` → `d3d11compositor`

Then compositor output goes to `d3d11videosink`.

Problem:

- If I use H264 instead of H265, the compositor works correctly and both streams are displayed properly.

- If only the UDP stream is connected to compositor, video works.

- If only `videotestsrc` is connected, it works.

- When both are connected, either:

GStreamer version:

```
* Windows

* GStreamer 1.24.10

```

> I need to composite an H265 video stream with an OSD text overlay entirely on the GPU using d3d11compositor.

---

<div class="post-metadata">

### Author: ![jbb194](https://discourse.gstreamer.org/user_avatar/discourse.gstreamer.org/jbb194/32/1681_2.png) [@jbb194](https://discourse.gstreamer.org/u/jbb194)
#### Post date: [May 12, 2026, 12:46pm UTC](https://discourse.gstreamer.org/t/i-m-trying-to-composite-two-d3d11-video-streams-in-gstreamer-on-windows-using-d3d11compositor/5808/2 "2026-05-12T12:46:42Z")

</div>

Can you supply us with some additional information?

1. Is this being run on the command line or is it part of an application? If it is an application, what language is it written in?

2. I have done something similar to this but I have not used the D3D11 package. There are a significant number of properties on the various elements and compositor sink pads that I would set. I would also be using caps filters and queues in a few different places. Can you share what you are setting or are you running this as is?

---

<div class="post-metadata">

### Author: ![oleksii](https://discourse.gstreamer.org/letter_avatar_proxy/v4/letter/o/9de053/32.png) [@oleksii](https://discourse.gstreamer.org/u/oleksii)
#### Post date: [May 20, 2026, 1:18pm UTC](https://discourse.gstreamer.org/t/i-m-trying-to-composite-two-d3d11-video-streams-in-gstreamer-on-windows-using-d3d11compositor/5808/3 "2026-05-20T13:18:19Z")

</div>

The application is written in C++.

I have already resolved the issue. It turned out that the H.265 stream was negotiating with `interlace-mode=mixed` by default. I added a capsfilter to force `interlace-mode=progressive`, and after that the compositor started handling the video correctly.

Thanks for your suggestions.
