Agora C++ API Reference for All Platforms

agora_video_frame_i.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2021 Agora.io. All rights reserved.
5 //
6
7 #pragma once
8
9 #include "NGIAgoraVideoFrame.h"
10 #include "webrtc/api/video/video_frame_buffer.h"
11 #include "webrtc/api/video/video_rotation.h"
12
13 namespace agora {
14 namespace rtc {
15
16 class IVideoFrameEx : public IVideoFrame {
17 public:
18 virtual ::rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer() = 0;
19 virtual uint32_t timestamp() const = 0;
20 virtual int64_t render_time_ms() const = 0;
21 virtual webrtc::VideoRotation rotation() const = 0;
22 };
23
24 class IVideoFrameMemoryPoolEx : public IVideoFrameMemoryPool {
25 public:
26 using IVideoFrameMemoryPool::createVideoFrame;
27 virtual agora::agora_refptr<IVideoFrame> createVideoFrame(
28 const ::rtc::scoped_refptr<webrtc::VideoFrameBuffer>& internal_buffer,
29 int64_t timestamp,
30 int64_t ntp_timestamp,
31 webrtc::VideoRotation rotation) = 0;
32 };
33
34 } // namespace rtc
35 } // namespace agora
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IVideoFrameEx::video_frame_buffer
virtual ::rtc::scoped_refptr< webrtc::VideoFrameBuffer > video_frame_buffer()=0
agora::rtc::IVideoFrameMemoryPool::createVideoFrame
virtual agora::agora_refptr< IVideoFrame > createVideoFrame(const VideoFrameData &data, const VideoFrameMetaDataType *metatypes=NULL, int count=0)=0
agora::rtc::IVideoFrameMemoryPoolEx
Definition: agora_video_frame_i.h:24
agora::rtc::IVideoFrameEx::timestamp
virtual uint32_t timestamp() const =0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IVideoFrameMemoryPool
Definition: NGIAgoraVideoFrame.h:183
agora::rtc::IVideoFrameMemoryPoolEx::createVideoFrame
virtual agora::agora_refptr< IVideoFrame > createVideoFrame(const ::rtc::scoped_refptr< webrtc::VideoFrameBuffer > &internal_buffer, int64_t timestamp, int64_t ntp_timestamp, webrtc::VideoRotation rotation)=0
agora::rtc::IVideoFrameEx
Definition: agora_video_frame_i.h:16
agora::rtc::IVideoFrameEx::rotation
virtual webrtc::VideoRotation rotation() const =0
agora::rtc::IVideoFrame
Definition: NGIAgoraVideoFrame.h:136
agora::rtc::IVideoFrameEx::render_time_ms
virtual int64_t render_time_ms() const =0
rtc
Definition: video_node_i.h:28