Agora RTC Objective-C API Reference Refactor

IAgoraH265Transcoder.h
Go to the documentation of this file.
1 //
2 // Agora Media SDK
3 //
4 // Copyright (c) 2022 Agora IO. All rights reserved.
5 //
6
7 #pragma once
8
9 #include "AgoraBase.h"
10 #include "AgoraMediaBase.h"
11
12 namespace agora{
13 namespace rtc{
14
18 enum H265_TRANSCODE_RESULT {
22 H265_TRANSCODE_RESULT_UNKNOWN = -1,
26 H265_TRANSCODE_RESULT_SUCCESS = 0,
30 H265_TRANSCODE_RESULT_REQUEST_INVALID = 1,
34 H265_TRANSCODE_RESULT_UNAUTHORIZED = 2,
38 H265_TRANSCODE_RESULT_TOKEN_EXPIRED = 3,
42 H265_TRANSCODE_RESULT_FORBIDDEN = 4,
46 H265_TRANSCODE_RESULT_NOT_FOUND = 5,
50 H265_TRANSCODE_RESULT_CONFLICTED = 6,
54 H265_TRANSCODE_RESULT_NOT_SUPPORTED = 7,
58 H265_TRANSCODE_RESULT_TOO_OFTEN = 8,
62 H265_TRANSCODE_RESULT_SERVER_INTERNAL_ERROR = 9,
66 H265_TRANSCODE_RESULT_SERVICE_UNAVAILABLE = 10
67 };
68
72 class IH265TranscoderObserver {
73 public:
74 virtual ~IH265TranscoderObserver() {};
75
87 virtual void onEnableTranscode(H265_TRANSCODE_RESULT result) = 0;
88
101 virtual void onQueryChannel(H265_TRANSCODE_RESULT result, const char* originChannel, const char* transcodeChannel) = 0;
102
113 virtual void onTriggerTranscode(H265_TRANSCODE_RESULT result) = 0;
114
115 };
116
120 class IH265Transcoder : public RefCountInterface {
121 public:
131 virtual int enableTranscode(const char *token, const char *channel, uid_t uid) = 0;
132
142 virtual int queryChannel(const char *token, const char *channel, uid_t uid) = 0;
143
153 virtual int triggerTranscode(const char* token, const char* channel, uid_t uid) = 0;
161 virtual int registerTranscoderObserver(IH265TranscoderObserver *observer) = 0;
169 virtual int unregisterTranscoderObserver(IH265TranscoderObserver *observer) = 0;
170
171
172 protected:
173 virtual ~IH265Transcoder() {};
174
175 };
176
177 } // namespace rtc
178 } // namespace agora
agora::rtc::H265_TRANSCODE_RESULT_SUCCESS
@ H265_TRANSCODE_RESULT_SUCCESS
Definition: IAgoraH265Transcoder.h:26
agora::rtc::H265_TRANSCODE_RESULT_NOT_FOUND
@ H265_TRANSCODE_RESULT_NOT_FOUND
Definition: IAgoraH265Transcoder.h:46
agora::rtc::H265_TRANSCODE_RESULT_TOO_OFTEN
@ H265_TRANSCODE_RESULT_TOO_OFTEN
Definition: IAgoraH265Transcoder.h:58
AgoraBase.h
agora::rtc::H265_TRANSCODE_RESULT_NOT_SUPPORTED
@ H265_TRANSCODE_RESULT_NOT_SUPPORTED
Definition: IAgoraH265Transcoder.h:54
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::H265_TRANSCODE_RESULT_SERVICE_UNAVAILABLE
@ H265_TRANSCODE_RESULT_SERVICE_UNAVAILABLE
Definition: IAgoraH265Transcoder.h:66
agora::rtc::H265_TRANSCODE_RESULT_FORBIDDEN
@ H265_TRANSCODE_RESULT_FORBIDDEN
Definition: IAgoraH265Transcoder.h:42
agora::rtc::IH265Transcoder::unregisterTranscoderObserver
virtual int unregisterTranscoderObserver(IH265TranscoderObserver *observer)=0
agora::rtc::H265_TRANSCODE_RESULT_REQUEST_INVALID
@ H265_TRANSCODE_RESULT_REQUEST_INVALID
Definition: IAgoraH265Transcoder.h:30
agora::rtc::IH265TranscoderObserver::onEnableTranscode
virtual void onEnableTranscode(H265_TRANSCODE_RESULT result)=0
agora::rtc::H265_TRANSCODE_RESULT_TOKEN_EXPIRED
@ H265_TRANSCODE_RESULT_TOKEN_EXPIRED
Definition: IAgoraH265Transcoder.h:38
agora::rtc::H265_TRANSCODE_RESULT_CONFLICTED
@ H265_TRANSCODE_RESULT_CONFLICTED
Definition: IAgoraH265Transcoder.h:50
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IH265Transcoder::enableTranscode
virtual int enableTranscode(const char *token, const char *channel, uid_t uid)=0
agora::rtc::H265_TRANSCODE_RESULT
H265_TRANSCODE_RESULT
Definition: IAgoraH265Transcoder.h:18
agora::rtc::IH265Transcoder::triggerTranscode
virtual int triggerTranscode(const char *token, const char *channel, uid_t uid)=0
agora::rtc::H265_TRANSCODE_RESULT_UNAUTHORIZED
@ H265_TRANSCODE_RESULT_UNAUTHORIZED
Definition: IAgoraH265Transcoder.h:34
agora::rtc::IH265Transcoder::queryChannel
virtual int queryChannel(const char *token, const char *channel, uid_t uid)=0
agora::rtc::IH265Transcoder::registerTranscoderObserver
virtual int registerTranscoderObserver(IH265TranscoderObserver *observer)=0
agora::rtc::H265_TRANSCODE_RESULT_UNKNOWN
@ H265_TRANSCODE_RESULT_UNKNOWN
Definition: IAgoraH265Transcoder.h:22
agora::rtc::IH265TranscoderObserver::~IH265TranscoderObserver
virtual ~IH265TranscoderObserver()
Definition: IAgoraH265Transcoder.h:74
agora::rtc::IH265Transcoder::~IH265Transcoder
virtual ~IH265Transcoder()
Definition: IAgoraH265Transcoder.h:173
agora::rtc::IH265Transcoder
Definition: IAgoraH265Transcoder.h:120
agora::rtc::IH265TranscoderObserver
Definition: IAgoraH265Transcoder.h:72
agora::rtc::H265_TRANSCODE_RESULT_SERVER_INTERNAL_ERROR
@ H265_TRANSCODE_RESULT_SERVER_INTERNAL_ERROR
Definition: IAgoraH265Transcoder.h:62
agora::rtc::IH265TranscoderObserver::onQueryChannel
virtual void onQueryChannel(H265_TRANSCODE_RESULT result, const char *originChannel, const char *transcodeChannel)=0
AgoraMediaBase.h
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IH265TranscoderObserver::onTriggerTranscode
virtual void onTriggerTranscode(H265_TRANSCODE_RESULT result)=0