Git Product home page Git Product logo

comms-sdk-dotnet's People

Contributors

4thlabs avatar dzfill avatar fabienlavocat avatar jfan-dolby avatar mhelf-dolby avatar pczaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

comms-sdk-dotnet's Issues

packages.json contains invalid link to documentation

{
  "name": "dolbyio.comms.sdk",
  "version": "1.0.0",
  "unity": "2021.1",
  "displayName": "DolbyIO .NET SDK",
  "description": "The DolbyIO .NET SDK",
  "documentationUrl": "https://api-references.dolby.io/comms-sdk-dotnet/documentation/index.html",
  "licensesUrl": "https://github.com/DolbyIO/comms-sdk-dotnet/blob/main/LICENSE",
  "dependencies": {

  },
  "keywords": [
      "audio",
      "voice",
      "spatial"
  ],
  "author": {
      "name": "DolbyIO",
      "email": "[email protected]",
      "url": "https://github.com/DolbyIO/comms-sdk-dotnet"
  }
}

link "https://api-references.dolby.io/comms-sdk-dotnet/documentation/index.html" returns 404. It should be changed to https://api-references.dolby.io/comms-sdk-dotnet/documentation/sdk/started.html instead as the landing page for the SDK documentation. Alternatively https://github.com/DolbyIO/comms-sdk-dotnet will also work.

Readme: Mixed description and Purpose of this SDK is confusing - requires more context in the readme.

Unity developers will be confused with the way the readme lays out the purpose of this repo.
The generally expect a stand-alone repo for the Unity Plugin package

What we present here is a mixed repo of both .Net and Unity -- its confusing and the descriptive text to get started is out of context.

Suggestions for improving the clarity.
See Issue: #113

Get Started with the Unity Plugin

The Unity plugin is built on top of the .NET SDK with visual scripting support.
You can find latest releases of the Unity Plugin here:
https://github.com/DolbyIO/comms-sdk-dotnet/releases
Refer to this article for installing and using the Unity plugin.

[Insert text:]

Getting Started with the .Net SDK

The following guide presents an example of using the SDK to create a basic .NET audio-only conference application.
In this repo we will proved a starter project example for using the .NET SDK.
You can create by following this procedure provides the foundation upon which you can add additional features as you build out your application.

You can find the complete code for the application in the Summary section. The created application is available in the SimpleApp folder.

Fix NullReferenceException in Unity

In Unity, unlike with the command line, the runtime is generating a null reference exception when a call failed. It may be due to some differences between Mono and Dotnet 6 runtime with P/Invoke. For classes, [Out] with a managed allocation is the way to go instead of out with a double indirection and an unmanaged allocation.

CI/CD Sign nuget packages

CI/CD workflows are complete and the last step is to sign the various packages and publish them to nuget.

Package the Unity Plugin as standalone or with installation instructions as part of a readme.

There are many methods to deliver and install Unity Plugins; Asset store, GitURL, manually, etc. Most plugins also provide both demo code examples and documentation as part of the Plugin Asset; This enables developers access to working examples, release info and documentation within the editor interface. The Unity Package Manager enables updates and selectivity as to what sections the developer might require for their project. Typically this is structured to include all resources in the single package.

Until such time that we release the SDK as an Asset Store plugin; We should streamline the installation process and developer experience by delivering a full featured Unity package that can be installed with a GitHub URL / Repo. A developer should not have to know where to look or find the related demo examples, installation instructions or documentation.

While we understand that the C++ .NET SDK is base foundation for the Unity Plugin, Unity developers require a more direct, standalone experience that is isolated to the experience of developing for Unity, and not the underlying foundational code.

The Unity distribution should be separate from the C++ .Net SDK as previously mentioned.

Update Reference link in Readme.md

Now that we have github pages available, links to reference documentation (docfx) in Readme.md can be updated to their real location.

Implement AudioService

implement Audio Service and move the required API calls to their respective Local or Remote services.

Implement Nodes for Unity Visual Scripting

Implement Nodes for :

  • Initializing the SDK and opening a session.
  • Joining a conference or a demo conference
  • Setting the 3D environment and positions
  • Audio devices management.

limitations with x86_64 only build with C++ SDK

Right now following the instructions on the readme file I get an error complaining about the binary compatibility.

ld: warning: ignoring file /Users/jfan/Downloads/cppsdk/sdk-release/lib/libdolbyio_comms_sdk.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/jfan/Downloads/cppsdk/sdk-release/lib/libdolbyio_comms_media.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
... ... ... 
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/libDolbyIO.Comms.Native.dylib] Error 1
make[1]: *** [src/DolbyIO.Comms.Native/CMakeFiles/DolbyIO.Comms.Native.dir/all] Error 2
make: *** [all] Error 2

I think we should:

  • Make sure we only build .net SDK with x86_64 target in the cmake configuration giving the underlying dependency limitations.
  • Make sure readme doc clearly states what people needs to do with M1 and the limitations of the current C++ SDK.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.