Code Monkey home page Code Monkey logo

agora-extensions's Introduction

Agora's Extensions

Agora’s extensions provides some extensions to enrich your scenarios when using Agora’s products.

MediaPlayer Kit

The extension of the MediaPlayer Kit provides sample projects and tools.

RtmpStreaming

Agora (Rtmp) Streaming Kit is developed for CDN live streaming. You can use the documentation and the RtmpStreaming sample project to try the kit. If you want to improve users’ appearance in the live streaming, you can use the RtmpStreamingWithBeauty sample project instead.

Camera Capture Framework for Android

This framework provides APIs that helps use system cameras more efficiently. See Camera Framework for more details.

agora-extensions's People

Contributors

brianxcli avatar cjmqas avatar guohai avatar kelzr avatar plutoless avatar shengqiangliu avatar tongjiangyong avatar xgfd3 avatar yuhaonong avatar zxc524580210 avatar

Stargazers

 avatar  avatar  avatar

Watchers

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

agora-extensions's Issues

RuntimeException:set display orientation failed

here is the logs
Fatal Exception: java.lang.RuntimeException: set display orientation failed
at android.hardware.Camera.setDisplayOrientation(Camera.java)
at io.agora.capture.video.camera.VideoCaptureCamera.allocate(VideoCaptureCamera.java:157)
at io.agora.capture.video.camera.CameraVideoChannel.lambda$startCapture$0(CameraVideoChannel.java:70)
at io.agora.capture.video.camera.CameraVideoChannel.lambda$startCapture$0$CameraVideoChannel(CameraVideoChannel.java:4)
at io.agora.capture.video.camera.-$$Lambda$CameraVideoChannel$jfYgLl6cnwH0Jm775yfLzYtPFNo.run(lambda)
at android.os.Handler.handleCallback(Handler.java:836)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:232)
at android.os.HandlerThread.run(HandlerThread.java:61)
at io.agora.capture.framework.modules.channels.VideoChannel.run(VideoChannel.java:59)

Camera Framework画面卡顿

参考Agora-Video-With-FaceUnity-Android Demo使用Camera Capture Framework实现videosource后,不限机型,偶然会触发相机画面帧卡顿的情况。杀死app后重新打开恢复正常。
异常情况下logcat多了以下异常
E/Camera3-OutputStream: getBufferLockedCommon: Stream 1: dequeue buffer cost: ( 134 ms)
请问可能是哪一步骤出现问题?

VideoCaptureCamera2 中 getCameraCharacteristics(String id)函数有返回null的情况

getCameraCharacteristics(String id)会有部分返回null的情况:
涉及机型:
ReadMi:7、8、K20Pro、Note7 Pro
Honor:7A、Play、HUAWEI Y6 Pro 2019
Vivo:1906、1907

异常信息大致如下,xxx是封装过的其他包名:
Fatal Exception: java.lang.NullPointerException
at android.os.Parcel.createException(Parcel.java:2093)
at android.os.Parcel.readException(Parcel.java:2055)
at android.os.Parcel.readException(Parcel.java:2003)
at android.hardware.ICameraService$Stub$Proxy.isHiddenPhysicalCamera(ICameraService.java:869)
at android.hardware.camera2.CameraManager.isHiddenPhysicalCamera(CameraManager.java:911)
at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:320)
at xxx..videocapture.video.camera.VideoCaptureCamera2.getCameraCharacteristics(VideoCaptureCamera2.java:227)
at xxx.videocapture.video.camera.VideoCaptureCamera2.allocate(VideoCaptureCamera2.java:378)
at cam.honey.videocapture.video.camera.CameraVideoChannel$1.run(CameraVideoChannel.java:72)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.os.HandlerThread.run(HandlerThread.java:67)
at xxx.videocapture.framework.modules.channels.VideoChannel.run(VideoChannel.java:59)

Support GLSurfaceView

Can the Capture framework add support for GLSurfaceView?
I have some code which need to be run in a opengl thread.
I tried to change the SurfaceView to GLSurfaceView but it renders nothing

Media audio is not published but video works fine

  1. I am using AgoraMediaPlayer to play local video => it works fine
  2. When I publish it to the channel by using AgoraRtcChannelPublishHelper, the video works fine but audio is from microphone.
    What I want is audio from media, not from microphone. Can you point me the right direction?
    Thank you

VideoChannel内Screen离线消费模式逻辑

VideoChannel 314行:

使用了mOnScreenConsumers.size()进行判断,导致无法进入mOffScreenConsumers循环,看起来应该是使用mOffScreenConsumers.size()。请问这个地方是bug,还是我使用姿势问题?

if (mOnScreenConsumers.size() > 0 || mOffScreenMode) {
    // If there is no on-screen consumers connected,
    // the off-screen consumers cannot actually be
    // called, unless the channel runs in off-screen
    // mode.
    for (IVideoConsumer consumer : mOffScreenConsumers) {
        consumer.onConsumeFrame(frame, mContext);
        makeDummySurfaceCurrent();
    }
}

android视频播放器,播放过程中,出现此异常

2020-03-05 23:25:00.178 7526-7526/io.agora.agoraplayerquickstart E/ActivityThread: Activity io.agora.mediaplayer.MainActivity has leaked IntentReceiver io.agora.rtc2.internal.AudioRoutingController$HeadsetBroadcastReceiver@34df2ef that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity io.agora.mediaplayer.MainActivity has leaked IntentReceiver io.agora.rtc2.internal.AudioRoutingController$HeadsetBroadcastReceiver@34df2ef that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.(LoadedApk.java:1583)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1316)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1694)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1667)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1655)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:623)
at io.agora.rtc2.internal.AudioRoutingController.initialize(AudioRoutingController.java:579)
2020-03-05 23:25:00.214 7526-7526/io.agora.agoraplayerquickstart E/ActivityThread: Activity io.agora.mediaplayer.MainActivity has leaked IntentReceiver io.agora.rtc2.internal.ConnectionChangeBroadcastReceiver@a3b6eda that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity io.agora.mediaplayer.MainActivity has leaked IntentReceiver io.agora.rtc2.internal.ConnectionChangeBroadcastReceiver@a3b6eda that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.(LoadedApk.java:1583)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1316)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1694)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1667)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1655)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:623)
at io.agora.rtc2.internal.CommonUtility.monitorConnectionEvent(CommonUtility.java:197)
at io.agora.rtc2.internal.CommonUtility.(CommonUtility.java:125)

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.