GithubHelp home page GithubHelp logo

Comments (25)

stefanalund avatar stefanalund commented on August 11, 2024

Hi @jrosssavant, I have started working on such an app for iOS, and @Rugvip is looking in to the Android version. The idea is to use in native EventSource library to connect to the server, and then use the OpenWebRTC C API's to set up media. I can probably share some work-in-progress code in a few days.

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

@stefanalund @Rugvip Thanks for looking at this. I'll keep studying to understand the OpenWebRTC code and follow along as you push new commits. I'm also taking a look at Swift versions of the existing examples for Issue #25.

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

@Rugvip has created a native Android app: #31 Hopefully it should be possible to use it as a reference for designing a iOS native app.

Would be fantastic if you want to have a crack at it, here's a gist for the native EventSource channel: https://gist.github.com/stefanalund/a15c87acf85d922262d7 As you can see it's incomplete (and written in Objective-C :))

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

Excellent, thanks for providing this. I'll take a run at the iOS app and let you know how it goes. No problem that it's in Obj-C, I actually have way more Obj-C experience than Swift.

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

I've asked @Rugvip to also have a look at making a version of the native app for iOS. Please let us know @jrosssavant if you have made in progress so that we can avoid double work. Thanks.

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

No, I never made it very far on this. I ran into a few stumbling blocks early on and then had my priorities pulled away. However, we're still interested in the iOS native app. I encourage you to push commits as you go and I'll keep my eye on them and contribute as I can. Thanks!

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

We will be sure to keep you in the loop!

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

Alright, my other priorities have cleared up and I'm back to looking at this. I'm in the process of syncing and rebuilding recent changes: would it be best for me to work based on the openwebrtc master branch and build instructions from the wiki, or should I use the nirbheek/cerbero openwebrtc branch?

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

As new apps submitted to the App Store from now on requires 64-bit support, I would recommend start using the Cerbero build system as 64-bit is supported:

https://github.com/EricssonResearch/openwebrtc/wiki/Building-OpenWebRTC-with-Cerbero

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

Thanks, using cerbero worked great for me. Now that I've got the Android native call app working per #31, I'm starting to look at how to apply this to iOS. It seems pretty straightforward, but one thing I'm realizing is that working with the C APIs is a little awkward and I'm wanting to wrap each C object in an Obj-C object. This works but is time-consuming, and I'm maintaining a C -> Obj-C map so that I can forward C callbacks to the appropriate Obj-C object.

Have you considered offering an Obj-C wrapper layer? I haven't dug into the details of how the Java binding works, but I hope it might be possible to do something similar for Obj-C.

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

To be clear, this is because you are using Swift, right?

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

This test app in C might also be a useful reference EricssonResearch/openwebrtc#129

from openwebrtc-examples.

jrosssavant avatar jrosssavant commented on August 11, 2024

My application uses Obj-C and Swift. Integrating a C implementation is certainly possible, and that sample app you linked is very helpful. But it'd be nicer for iOS devs if there was an Obj-C or Swift interface. The main thing I want to avoid is jumping between two memory management schemes.

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

I certainly agree that would be better, especially as more and more developers adopt Swift in their apps. We will put that on the backlog.

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

I have started working on this again and have a WIP skeleton for an app here: #49

from openwebrtc-examples.

loebpaul avatar loebpaul commented on August 11, 2024

Hi @stefanalund, I've been following this development closely. Is there any update to the progress on the Objective-C bridge? Thanks!

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

Working on it now, hope to have a working app end of next week.

from openwebrtc-examples.

loebpaul avatar loebpaul commented on August 11, 2024

amazing, thanks for the update!

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

@loebpaul there is a work-in-progress PR that you can follow here: #49

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

A first version of the NativeDemo app has now landed: https://github.com/EricssonResearch/openwebrtc-examples/tree/master/ios/NativeDemo

Still a lot of minor things that should be fixed in the app, such as properly handling rotation, but let's open new Issues for those. Feel free to pick this up and make improvements! :)

from openwebrtc-examples.

sentiasa avatar sentiasa commented on August 11, 2024

Thanks for the NativeDemo. It seems brilliant. I was wondering, if I convert the whole code to Swift, will it work as it is now or it may crash because of OpenWebRTC-iOS-SDK? Or are you planning to create another example on Swift too?

from openwebrtc-examples.

superdump avatar superdump commented on August 11, 2024

You basically need to wrap all of the OpenWebRTC C API to Objective-C and then bridge that to Swift or something as I recall. Alternatively, perhaps that could be done for the iOS SDK API only, but I'm not sure if that is sufficient. @Rugvip @stefanalund ?

from openwebrtc-examples.

stefanalund avatar stefanalund commented on August 11, 2024

@sentiasa creating a version in Swift is not on our immediate todo list, even though it would be nice to have it. I don't expect any problems using the iOS SDK from Swift. It would be really awesome if you tried and contributed back the result 😃

from openwebrtc-examples.

zhangguoyong avatar zhangguoyong commented on August 11, 2024

@sentiasa if the NativeDemo Support multiplayer video conferencing ,thanks

from openwebrtc-examples.

zhangguoyong avatar zhangguoyong commented on August 11, 2024

Hello everyone,I recently made webRTC multiplayer video, Who used to multiplayer video,And can give me a demo, thank you very much。

from openwebrtc-examples.

Related Issues (20)

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.