Agora C++ API Reference for All Platforms

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;
15 class IMediaRelayService : public RefCountInterface {
16 public:
30 virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration& configuration) = 0;
31
44 virtual int stopChannelMediaRelay(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
45
54 virtual int pauseAllChannelMediaRelay(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
55
64 virtual int resumeAllChannelMediaRelay(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
65
66 virtual void registerEventHandler(IMediaRelayObserver* eventObserver, void(*safeDeleter)(IMediaRelayObserver*) = NULL) = 0;
67 virtual void unregisterEventHandler(IMediaRelayObserver* eventObserver) = 0;
68 };
69
70 class IMediaRelayObserver {
71 public:
72 virtual ~IMediaRelayObserver() {}
73
82 virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,
83 CHANNEL_MEDIA_RELAY_ERROR code) {}
84 };
85
86 } // namespace rtc
87 } // namespace agora
agora::rtc::IMediaRelayService::stopChannelMediaRelay
virtual int stopChannelMediaRelay(aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::IMediaRelayService
Definition: IAgoraMediaRelayService.h:15
agora::rtc::IMediaRelayObserver
Definition: IAgoraMediaRelayService.h:70
agora::rtc::IMediaRelayService::registerEventHandler
virtual void registerEventHandler(IMediaRelayObserver *eventObserver, void(*safeDeleter)(IMediaRelayObserver *)=NULL)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaRelayService::resumeAllChannelMediaRelay
virtual int resumeAllChannelMediaRelay(aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::CHANNEL_MEDIA_RELAY_STATE
CHANNEL_MEDIA_RELAY_STATE
Definition: AgoraBase.h:6261
agora::rtc::IMediaRelayObserver::onChannelMediaRelayStateChanged
virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code)
Definition: IAgoraMediaRelayService.h:82
agora::rtc::IMediaRelayService::pauseAllChannelMediaRelay
virtual int pauseAllChannelMediaRelay(aosl_ref_t ares=AOSL_REF_INVALID)=0
agora::rtc::ChannelMediaRelayConfiguration
Definition: AgoraBase.h:6298
agora::rtc::IMediaRelayObserver::~IMediaRelayObserver
virtual ~IMediaRelayObserver()
Definition: IAgoraMediaRelayService.h:72
agora::rtc::IMediaRelayService::startOrUpdateChannelMediaRelay
virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration)=0
agora::rtc::IMediaRelayService::unregisterEventHandler
virtual void unregisterEventHandler(IMediaRelayObserver *eventObserver)=0
agora::rtc::CHANNEL_MEDIA_RELAY_ERROR
CHANNEL_MEDIA_RELAY_ERROR
Definition: AgoraBase.h:6214
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
rtc
Definition: video_node_i.h:28