Skip to content

Conversation

@derrod
Copy link
Member

@derrod derrod commented Mar 20, 2023

Description

Disable codecs that are incompatible based on the container drop down state. If an incompatible codec is selected when changing container, the encoder selection is reset to an invalid state and a warning is shown.

Screenshot:
2023-03-24_11-30-51_cCsexx

Motivation and Context

Wanted to avoid having to add more warnings for Opus and #8289

How Has This Been Tested?

Selected different contaiers, ensured codecs got disabled as necessary. Also tested with #8289 and made sure that works correctly.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@derrod derrod added Seeking Testers Build artifacts on CI UI/UX Anything to do with changes or additions to UI/UX elements. labels Mar 20, 2023
@derrod derrod force-pushed the disable-incompatible-codecs branch from a3f8d81 to 7695229 Compare March 20, 2023 14:01
@notr1ch
Copy link
Member

notr1ch commented Mar 20, 2023

I think it might be nicer if the container was always shown in uppercase in the incompatible warning.

@derrod
Copy link
Member Author

derrod commented Mar 20, 2023

I think it might be nicer if the container was always shown in uppercase in the incompatible warning.

Sure that can be done. See the updated screenshot.

@derrod derrod force-pushed the disable-incompatible-codecs branch from 7695229 to 5e7df4a Compare March 20, 2023 14:14
@derrod derrod force-pushed the disable-incompatible-codecs branch 3 times, most recently from 9fa8546 to b46b99b Compare March 20, 2023 15:48
@derrod derrod changed the title Disable incompatible codecs UI: Disable incompatible codecs in settings Mar 21, 2023
@derrod derrod force-pushed the disable-incompatible-codecs branch 2 times, most recently from 13e79b9 to 061cdf4 Compare March 21, 2023 00:24
@derrod derrod requested a review from Warchamp7 March 21, 2023 16:40
@derrod
Copy link
Member Author

derrod commented Mar 23, 2023

OK'd by @Warchamp7 off-thread, looking to merge during weekly PR review.

@derrod derrod requested a review from RytoEX March 23, 2023 18:25
@derrod derrod force-pushed the disable-incompatible-codecs branch from 061cdf4 to fe5e27c Compare March 24, 2023 10:27
@derrod
Copy link
Member Author

derrod commented Mar 24, 2023

Based on feedback from @Warchamp7 the following changes have been implemented:

  • When an invalid codec is selected, the selection is now set to "nothing" (-1) and a placeholder text is shown
  • A warning is visible as long as either encoder selection is invalid
  • The same behaviour now applies to simple mode as long as recording encoders are used
  • When using stream encoders in simple mode incompatible containers are disabled instead

See updated screenshots for the placeholder and warning.

@derrod derrod force-pushed the disable-incompatible-codecs branch from fe5e27c to 2906c6d Compare March 25, 2023 09:16
@notr1ch
Copy link
Member

notr1ch commented Mar 25, 2023

Closing the settings without picking a replacement encoder seems to stop recording from functioning at all (not even anything in the log file). After re-opening settings, there is no obvious error as the list index is reset to "Use stream encoder" (but internally not).

obs64_a0x0QHCsTD.mp4

@derrod derrod force-pushed the disable-incompatible-codecs branch from 2906c6d to 5f1682a Compare March 25, 2023 19:30
@derrod
Copy link
Member Author

derrod commented Mar 25, 2023

Should be fixed now. Apparently the way the comboboxes are restored is slightly different so this only affected the audio one. Affects both, will push fix in a minute.

In advanced mode codecs that are incompatible are disabled.
In simple mode codecs are disabled if recording encoders are used,
but containers are disabled when stream encoders are used.
@derrod derrod force-pushed the disable-incompatible-codecs branch from 5f1682a to b5618ae Compare March 25, 2023 19:36
@jp9000 jp9000 merged commit b793634 into obsproject:master Mar 25, 2023
@RytoEX RytoEX added this to the OBS Studio 29.1 milestone Mar 25, 2023
@derrod derrod deleted the disable-incompatible-codecs branch March 26, 2023 02:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Seeking Testers Build artifacts on CI UI/UX Anything to do with changes or additions to UI/UX elements.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants