Code Monkey home page Code Monkey logo

kme-sdk-android's Introduction

Kaltura Meeting Experience. Android SDK.

KME Android SDK is a mediator between server side and application. Created for simplifying interactions with Kaltura Meeting Experience server side. Allow to build high-performance application for real time communications.

Getting Started

Project Specific Sections and Information

Every project has its own important information to expose, place it here under clear titles and text.
If you need assistance with writing, structure or unsure what's important or not - email [email protected] and we'll assist.
Don’t get lazy just because "it is for developers" - Visitors of your repository will want to know how to work with this project, how to extend this code, how to configure it, and more. The more guidelines and information you'll provide the easier it will be for others to use, and contribute to the project.

How you can help (guidelines for contributors)

Thank you for helping Kaltura grow! If you'd like to contribute please follow these steps:

Known issues

  • Can't start publish only video or only audion for the very first time

Todos

  • White board drawings
  • Publish as standalone public third party SDK

Open Source Libraries

Review the list of Open Source 3rd party libraries used in this project.

Where to get help

Get in touch

You can learn more about Kaltura and start a free trial at: http://corp.kaltura.com
Contact us via Twitter @Kaltura or email: [email protected]
We'd love to hear from you!

License and Copyright Information

All code in this project is released under the AGPLv3 license unless a different license for a particular library is specified in the applicable library path.

Copyright © Kaltura Inc. All rights reserved.
Authors and contributors: See GitHub contributors list.

kme-sdk-android's People

Contributors

alexrubanskiykaltura avatar rubanskiy avatar serhiislobodianiuk avatar zura-adod avatar roeiki11 avatar

Stargazers

Burden Haze  avatar Rob Lester avatar

Watchers

Zohar Babin avatar James Cloos avatar  avatar KCorpIT avatar Jesse Portnoy avatar  avatar  avatar Kaltura GitHub Hooks avatar  avatar  avatar

Forkers

flamyoad

kme-sdk-android's Issues

Crash on screen rotation on RoomActivity

Steps to reproduce:
1 . Join any room
2. Click "Go" on the camera PreviewDialog to proceed
3. Wait for both contentFragment and renderFragment to appear on screen.
4. Rotate the screen now, and the app will crash

Stacktrace:

    Process: com.kme.kaltura.demo, PID: 24134
    kotlin.UninitializedPropertyAccessException: lateinit property adapter has not been initialized
        at com.kme.kaltura.kmeapplication.view.fragment.RoomRenderersFragment.access$getAdapter$p(RoomRenderersFragment.kt:25)
        at com.kme.kaltura.kmeapplication.view.fragment.RoomRenderersFragment$publisherAddObserver$1.onChanged(RoomRenderersFragment.kt:169)
        at com.kme.kaltura.kmeapplication.view.fragment.RoomRenderersFragment$publisherAddObserver$1.onChanged(RoomRenderersFragment.kt:25)
        at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
        at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:144)
        at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:443)
        at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:395)
        at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
        at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:300)
        at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:339)
        at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)
        at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)
        at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent(FragmentViewLifecycleOwner.java:51)
        at androidx.fragment.app.Fragment.performStart(Fragment.java:2737)
        at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:355)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1192)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1354)
        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1432)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1495)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2617)
        at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2575)
        at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:258)
        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:550)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1436)
        at android.app.Activity.performStart(Activity.java:8174)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3565)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2135)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:8057)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

Koin Injection error from KME class

Im getting this error Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:class com.kme.kaltura.kmesdk.di.KmeKoinComponent, unresolved supertypes: org.koin.core.KoinComponent Adding -Xextended-compiler-checks argument might provide additional information. when try to initialize

    val kmeSdk = KME.getInstance()

    kmeSdk.initSDK(
        applicationContext,
        success = {},
        error = {}
    )

Possibility to login with own API

https://github.com/kaltura/kme-sdk-android/blob/master/user-guide.md#sign-in

 kmeSDK.signInController.login(
    email,
    password,
    success = {
        isLoading.value = false
        loginResponse.value = it.data
    },
    error = {
        isLoading.value = false
        loginError.value = it.message
    }
 )

Is it possible to replace the logging in with Kaltura email & password with the session token or virtual meeting room URL?

This is because in our app we have our own API for logging in, we only want to leverage KME SDK for the video call capabilities. However the SDK requires us to login with Kaltura email & password.

Preview Camera dialog is clipped in landscape mode

The bottom-half of the camera preview dialog are not shown in landscape mode.

The height of the dialog seems to be hardcoded. I'm hoping this will be fixed in the future version.

Portrait mode:
1

Landscape mode: (Notice how the 'OK' button and the mic/camera buttons got clipped out of screen)
2

    <com.kme.kaltura.kmesdk.webrtc.view.KmeSurfaceRendererView
        android:id="@+id/preview"
        android:layout_width="300dp"
        android:layout_height="0dp"
        android:layout_marginTop="32dp"
        android:layout_marginBottom="6dp"
        android:background="@drawable/rounded_inside_corners"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/controlsContainer"
        app:layout_constraintDimensionRatio="9:16"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvTitle" />

Seems that the only way is to reduce the layout_width because the ratio is fixed to 9:16 in the landscape xml. But I'm hoping for a more elegant solution from official team.

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.