Agora Java API Reference for Android
IAgoraMediaRelayService.h
1 //
2 // Agora Media SDK
3 //
4 // Created by Xiaosen Wang in 2020.
5 // Copyright (c) 2020 Agora IO. All rights reserved.
6 //
7 #pragma once
8 #include "AgoraBase.h"
9 #include "AgoraRefPtr.h"
10 #include "IAgoraService.h"
11 
12 namespace agora {
13 namespace rtc {
14 class IMediaRelayObserver;
16  public:
26  virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration& configuration) = 0;
45  virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration& configuration) = 0;
55  virtual int stopChannelMediaRelay() = 0;
56 
62  virtual int pauseAllChannelMediaRelay() = 0;
63 
69  virtual int resumeAllChannelMediaRelay() = 0;
70 
71  virtual void registerEventHandler(IMediaRelayObserver* eventObserver, void(*safeDeleter)(IMediaRelayObserver*) = NULL) = 0;
72  virtual void unregisterEventHandler(IMediaRelayObserver* eventObserver) = 0;
73 };
74 
76  public:
77  virtual ~IMediaRelayObserver() {}
78 
87  virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,
88  CHANNEL_MEDIA_RELAY_ERROR code) {}
93  virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) {}
94 };
95 
96 } // namespace rtc
97 } // namespace agora
agora::rtc::IMediaRelayService
Definition: IAgoraMediaRelayService.h:15
agora::rtc::IMediaRelayObserver
Definition: IAgoraMediaRelayService.h:75
agora::rtc::IMediaRelayObserver::onChannelMediaRelayEvent
virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code)
Definition: IAgoraMediaRelayService.h:93
agora::rtc::IMediaRelayService::stopChannelMediaRelay
virtual int stopChannelMediaRelay()=0
agora::rtc::IMediaRelayService::startChannelMediaRelay
virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IMediaRelayObserver::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code)
Definition: IAgoraMediaRelayService.h:87
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:4802
agora::rtc::IMediaRelayService::updateChannelMediaRelay
virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IMediaRelayService::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay()=0
agora::rtc::IMediaRelayService::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay()=0