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
75 virtual ~IH265TranscoderObserver() {};
76
77
89 virtual void onEnableTranscode(H265_TRANSCODE_RESULT result) = 0;
90
103 virtual void onQueryChannel(H265_TRANSCODE_RESULT result, const char* originChannel, const char* transcodeChannel) = 0;
104
115 virtual void onTriggerTranscode(H265_TRANSCODE_RESULT result) = 0;
116
117 };
118
122 class IH265Transcoder: public RefCountInterface {
123 public:
124
134 virtual int enableTranscode(const char *token, const char *channel, uid_t uid) = 0;
135
145 virtual int queryChannel(const char *token, const char *channel, uid_t uid) = 0;
146
156 virtual int triggerTranscode(const char* token, const char* channel, uid_t uid) = 0;
157
165 virtual int registerTranscoderObserver(IH265TranscoderObserver *observer) = 0;
166
174 virtual int unregisterTranscoderObserver(IH265TranscoderObserver *observer) = 0;
175
176
177 protected:
178 virtual ~IH265Transcoder() {};
179
180 };
181 } // namespace rtc
182 } // 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:29
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:75
agora::rtc::IH265Transcoder::~IH265Transcoder
virtual ~IH265Transcoder()
Definition: IAgoraH265Transcoder.h:178
agora::rtc::IH265Transcoder
Definition: IAgoraH265Transcoder.h:122
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