# Dynamic source resolution support for DirectShow Video Capture Source?



## enigma (Feb 22, 2017)

Hello,

I use a Epiphan DVI2PCIe card as video capture source. This card can capture from VGA with custom modes. It adapts to the source signals modes while delivering frames. So it can change from text mode at 720x400 70 fps to e.g. 640x480 60 fps (and most other modes).
So I thought in OBS Studio to leave the resolution of the capture source at the Device Default setting and set the viewport in the scene to scale always to 1440x1080 which is 4:3 by using a Bounding Box.

Now it seems that OBS Studio does not adjust to a changed source resolution on the fly. 
e.g. if I go from text mode at 720x400 to 1024x768 at the source the image stays blurry.
However if I go to the video capture source properties while streaming and only touch any setting there I can see that it updates to the new source resolution and the image gets sharp.

It would be much more convenient if OBS Studio would adjust automatically to the changed source resolution.
(or is it implemented and I just missed some option?)


----------



## Fenrir (Feb 23, 2017)

To clarify, this is less an issue with "dynamic resolution support" and more of an issue with a capture card.

To explain better, enigma is capturing old DOS games that change their resolution during gameplay (example, when going from a menu screen to actual gameplay), and the capture card does not automatically update to the new resolution while the card is active. Changing settings in the card initiates a reset on the card, so the resolution updates and it starts displaying properly again.


----------



## enigma (Feb 23, 2017)

I am sorry, but I have to disagree with the technical part. The card does indeed follow the resolution changes since it works when using e.g. VLC on the fly without stream interruption. VLC uses DirectShow as well.


----------



## Fenrir (Feb 23, 2017)

enigma said:


> I am sorry, but I have to disagree with the technical part. The card does indeed follow the resolution changes since it works when using e.g. VLC on the fly without stream interruption. VLC uses DirectShow as well.



Yes, that's what I said. I'm not saying it's not an issue with how OBS handles the capture card, but just clarifying that the issue is with the capture card specifically. "Dynamic resolution support" is very vague.


----------



## enigma (Feb 23, 2017)

Ok I updated the thread title to be more specific.


----------



## enigma (Mar 18, 2017)

So the last thing in chat was that I should look myself how the driver does it.
In DirectShow it looks like this, when on the Input Pin 
ReceiveConnection(IPin *pConnector,const AM_MEDIA_TYPE *pmt)
is called then the capture cards driver delivers the current source resolution in pmt. This stays constant as long as the Graph stays connected. Even setFormat calls to the Stream do not change resolution (ColorSpace can be changed though).

As the Epiphan driver supports multiple DirectShow I can poll the current source resolution by connecting in a second Graph. Another way would be to disconnect the Pins and reconnect.

How do other capture devices handle source resolution changes within a streaming directshow graph?


----------



## kpanic (Apr 13, 2020)

Any updates to this? I'm having the exact same problem running OBS Studio in Debian using the DVI2PCIe.


----------

