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

rtmp-services: Add LiveSpace #9734

Closed
wants to merge 136 commits into from

Conversation

steve-livespace
Copy link

Description

Added LiveSpace to rtmp-services list

Motivation and Context

Adding our LiveSpace service for user convenience

How Has This Been Tested?

Tested locally

Types of changes

  • Tweak (non-breaking change to improve existing functionality)
  • Added a Streaming Service via additional JSON block and incremented version

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.

@RytoEX RytoEX added the Services These are modifications to the Service list and are not tied to the release schedule label Oct 24, 2023
@RytoEX
Copy link
Member

RytoEX commented Mar 6, 2024

This PR has merge conflicts, so it cannot be merged as-is. Unfortunately, this PR also has maintainer edits disabled, so I cannot fix them myself.

@steve-livespace
Copy link
Author

Thanks - I can fix it but can't commit here, nor know how to make it fixable for you - guess I have to resync my repo and do a new PR; sucks, as hope to salvage this one, as been months.

@derrod
Copy link
Member

derrod commented Mar 7, 2024

Thanks - I can fix it but can't commit here, nor know how to make it fixable for you - guess I have to resync my repo and do a new PR; sucks, as hope to salvage this one, as been months.

You just need to check this box at the right side of the screen:
checkbox

derrod and others added 22 commits March 6, 2024 17:35
Marks old AVFoundation capture source as deprecated.
QuickSync requires oneVPL, which is unable to find its libraries in the
Flatpak, resulting in MFX_ERR_NOT_FOUND and the encoders not working.
The libraries are present in the install prefix (/app/lib), which is
currently not automatically added to the search paths, see the issue
intel/libvpl#119 for details. For now,
work around the issue by setting ONEVPL_SEARCH_PATH explicitly.
If a user sets both AdaptiveMiniGOP=true and EnablePreAnalysis=true
in the AMF/FFmpeg options field, AMF will adaptively insert
B-pictures, and no longer uses the fixed B pattern.

For a fixed B-frames pattern, it is expected that increasing B-frames
can cause a quality drop for certain content such as with high motion.
AdaptiveMiniGOP is recommended when using B-frames to improve the
quality in such cases. AdaptiveMiniGOP is dependent on PreAnalysis
which means that trying to enable it without having PreAnalysis turned
ON will have no negative effect (AdaptiveMiniGOP won't be enabled).
shiina424 and others added 26 commits March 6, 2024 17:35
Fixes several possible crash issues that might occur on Intel-based Macs
and older macOS versions:

On modern macOS versions (13+) allocated memory is zero-allocated by
default which makes NULL pointer checks work correctly after allocation.

On older macOS versions this is not the case, so the OBSAVCaptureInfo
struct needs to be zero-allocated to ensure the guards in the tick and
render functions bail out correctly.

On Intel-based Macs and/or older macOS versions passing a reference to
the OBSAVCapture instance inside the OBSAVCapture struct can lead to a
crash because of a possible circular reference that cannot be resolved
at runtime.

Passing only a reference of the OBSAVCapture to libobs and incrementing
the retain count at source creation (decrementing in when the source is
destroyed) avoids this issue entirely.
(Lain note: Splitting parent commit. This was probably unintentionally
not taken into account in the origin crop_to_bounds PR.)
Fixes future deprecation warnings
In order to support crop_to_bounds, deprecates:
obs_sceneitem_set_info
obs_sceneitem_get_info

In favor of:
obs_sceneitem_set_info2
obs_sceneitem_get_info2
They contain a more recent commit with a fix for a flatpak-builder
regression.
This is what Flathub uses now. It's an implementation detail that will
eventually be hidden away in a Flathub-specific publish action. But for
now, we still publish directly, and we have to adapt.
The beginInsertRows/endInsertRows calls seem to signal that the rowCount
has changed, and that views should adjust accordingly. The isProcessing
boolean changes the returned value of RemuxQueueModel::rowCount, which
seems to cause the empty row in the table model to disappear
permanently. I still don't know why it used to work this way and no
longer does.
Notable changes:
 * deps.ffmpeg: Force classic linker for AppleClang 15.0.0+
 * CI: Update macOS jobs to use macOS 14 runners
 * deps.ffmpeg: Enable runtime CPU detection for AOM to fix ARM64 crashes
 * deps.ffmpeg: Update zlib to 1.3.1
 * deps.ffmpeg: Update aom to 3.8.1
 * deps.ffmpeg: Update mbedTLS to 3.4.1
 * deps.qt: Update Qt6 to 6.6.2 for Windows
 * deps.qt: Update Qt6 to 6.6.2 for macOS
 * deps.qt: Restore native dialogs on macOS
Also add AppStream validation to Build Project workflow
Some devices will report different framerate ranges for formats that
are identical apart from color primaries. Without taking these into
account, only framerates for one color primary variant would be used
to populate the framerate dropdown in the property view of the camera
source.

Checking for a difference in color primaries when iterating over all
available formats for a device thus requires checking for this
variation and adding the additional frame rate range as well.
When a prior scheduled nightly run is detected with the identical
commit hash, then the entire language file check should be skipped.

This adds the missing condition to skip the check for changed files
removing the unnecessary warning contained in the workflow results.
Python 3.11 and later support a system-wide configuration setting that
marks the system packages as "externally managed" (e.g. to force using
apt packages instead of pip packages).

This breaks installation of the modules necessary to run the validators,
so use a virtual environment instead.
Notable changes:
 * deps.ffmpeg: Revert libsrt to 1.5.2 to avoid a crash
This fixes a bug where the source context bar wouldn't update
when a scene item is deleted.
This removes the LoadOutputSettings() called in SaveStream1Settings.
It caused a bug when trying to save Output settings when both Stream
and Output settings have been changed but the changes have not been
applied by hitting the 'Apply' button in Settings.

Signed-off-by: pkv <pkv@obsproject.com>
This toggles audio multi track display in Output settings when:
1. When there is a signal that a stream service is changed to a non
custom one. Indeed multi-track audio is only available with Custom
service and only with SRT or RIST protocols.
2. When a Custom service is picked, and SRT or RIST are detected in the
server URL.
3. When Stream settings are saved when one hits Apply.
This is in addition to the toggling done when loading Stream Settings.

Signed-off-by: pkv <pkv@obsproject.com>
@steve-livespace
Copy link
Author

Can I do that on existing PR, as not obvious how here, or maybe can convert to draft and try again? Or best to start over and redo a new PR using latest merged changes I saw you made today? Apologies for challenges.

@RytoEX
Copy link
Member

RytoEX commented Mar 7, 2024

Can I do that on existing PR, as not obvious how here, or maybe can convert to draft and try again? Or best to start over and redo a new PR using latest merged changes I saw you made today? Apologies for challenges.

You apparently cannot enable maintainer edits here because of a quirk with how GitHub handles PRs made by individuals from an organization repo:
https://github.com/orgs/community/discussions/5634

You either need to fix this PR up yourself, or open a new one that is fixed. I would recommend not opening a PR from an organization repo to avoid the problem above. I would also recommend that you:

  1. Do not submit a PR from any fork's master branch.
  2. Do not use merge commits to keep your branch up to date. Use git rebase instead.

@RytoEX
Copy link
Member

RytoEX commented May 2, 2024

Closing this PR as LiveSpace shut down on May 1, 2024.

https://about.live.space/post/thank-you
https://twitter.com/StreamLiveSpace/status/1780507581167141166

@RytoEX RytoEX closed this May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Services These are modifications to the Service list and are not tied to the release schedule
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet