Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
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 "main/core/video/base/video_frame/video_frame_buffer.h"
11#include "main/core/video/base/video_frame/video_rotation.h"
12
13namespace agora {
14namespace 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
Definition agora_video_frame_i.h:16
agora::rtc::IVideoFrameEx::render_time_ms
virtual int64_t render_time_ms() const =0
agora::rtc::IVideoFrameEx::rotation
virtual webrtc::VideoRotation rotation() const =0
agora::rtc::IVideoFrameEx::timestamp
virtual uint32_t timestamp() const =0
agora::rtc::IVideoFrameEx::video_frame_buffer
virtual ::rtc::scoped_refptr< webrtc::VideoFrameBuffer > video_frame_buffer()=0
agora::rtc::IVideoFrame
Definition NGIAgoraVideoFrame.h:148
agora::rtc::IVideoFrameMemoryPoolEx
Definition agora_video_frame_i.h:24
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::IVideoFrameMemoryPool
Definition NGIAgoraVideoFrame.h:195
agora::rtc::IVideoFrameMemoryPool::createVideoFrame
virtual agora::agora_refptr< IVideoFrame > createVideoFrame(const VideoFrameData &data, const VideoFrameMetaDataType *metatypes=NULL, int count=0)=0
agora::rtc
Definition AgoraExtensions.h:5
agora
Definition AgoraAtomicOps.h:21