Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.11.0 combined audio fix + plugintemplate + NDI5 #849

Merged
merged 26 commits into from
Mar 5, 2023
Merged

4.11.0 combined audio fix + plugintemplate + NDI5 #849

merged 26 commits into from
Mar 5, 2023

Conversation

paulpv
Copy link
Member

@paulpv paulpv commented Feb 27, 2023

Of the ~141 files changed:

  • ~110 are for refactoring from old < OBS28 plugin code to new >=OBS obs-plugintemplate based code.
    • almost everything in .github folder was added and is 99% a carbon copy of obs-plugintemplate.
    • almost everything in CI folder was removed.
    • external folder was removed.
    • installer folder was removed.
    • azure-pipelines.yml was removed.
  • 13 are updated NDI5 files.
    These are covered in Replacing NDI SDK 4.x include headers w/ 5.x #835
  • 15 (at the very end) are actual source code updates, ~90% of these being for code formatting changes to conform to the obs-plugintemplate's .clang-format rules.
  • A few are refactored build or packaging scripts, especially to pull Linux libndi directly from newtek and package it.

The only real changes in this PR compared to master are:

  1. DDRBoxman's audio patch #834
  2. Fixing code warnings and restoring warnings as errors
  3. Properly initializing NDI5 in Linux
  4. Replace send_video_v2 with send_video_async_v2
  5. Fix shutdown hang of double call to ndi_output_stop
  6. Ignore NDILIB_REDIST_FOLDER if not defined

I have tested this on:

  • Windows 11 22H2 (22621.1105) x64 on AMD 5900
  • MacOS Ventura 13.2.1 on MabBook Pro 2021 w/ M1 Pro
  • Ubuntu 22.04.2 Morefine M6 x64 on Celeron N5105

All 3 platforms can both send and receive NDI video.

I have discovered that MacOS OBS is not transmitting audio.
I will be investigating that, but considering that was already buggy, I am willing to ship 4.11.0 without MacOS audio output. :/

I am also curious if the rewrite branch MacOS audio outputs fine and a code diff between the two might provide me a clue about what is going wrong.

It turns out I was just using a bad audio capture source.
I am able to RX audio from the MacOS OBS NDI using other media sources, just not the audio capture source I had previously selected.

@paulpv paulpv self-assigned this Feb 27, 2023
@paulpv paulpv changed the title 4.10.2 combined audio fix + plugintemplate + NDI5 4.11.0 combined audio fix + plugintemplate + NDI5 Feb 27, 2023
Cherrypick obs-plugintemplate f102d11
Cherrypick from obs-plugintemplate 79ef199
Cherrypick obs-plugintemplate 8649be0
A GitHub Actions job has read-only permission by default and it cannot
create releases without configurations. Adding the contents write
permission enables the make-release job to create a release.
@Trouffman
Copy link
Collaborator

When setting the option to "Audio Only" it will throw an error in the log file.
11:10:59.325: device_texture_create (D3D11): Failed to create 2D texture (80070057)

To reproduce:

  • Add ndi source, set to Bandwidth "highest" or "lowest"
  • save - confirm input works
  • edit source again
  • change to "Audio Only"
  • Check the log file

@Palakis Palakis merged commit 92bb63a into master Mar 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants