Intel® Collaboration Suite for WebRTC  version 4.3.1
Open WebRTC Toolkit (OWT) Client SDK for Windows*
videodecoderinterface.h
1 // Copyright (C) <2018> Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 #ifndef OWT_BASE_VIDEODECODERINTERFACE_H_
5 #define OWT_BASE_VIDEODECODERINTERFACE_H_
6 #include <memory>
7 #include "owt/base/commontypes.h"
8 namespace owt {
9 namespace base {
15  const uint8_t* buffer;
17  size_t length;
19  uint32_t time_stamp;
22 };
28  public:
38  virtual bool InitDecodeContext(VideoCodec video_codec) = 0;
43  virtual bool Release() = 0;
49  virtual bool OnEncodedFrame(std::unique_ptr<VideoEncodedFrame> frame) = 0;
53  virtual VideoDecoderInterface* Copy() = 0;
54 };
55 }
56 }
57 #endif // OWT_BASE_VIDEODECODERINTERFACE_H_
Video decoder interface.
Definition: videodecoderinterface.h:27
virtual bool InitDecodeContext(VideoCodec video_codec)=0
This function initializes the customized video decoder.
uint32_t time_stamp
Frame timestamp (90kHz).
Definition: videodecoderinterface.h:19
const uint8_t * buffer
Encoded frame buffer.
Definition: videodecoderinterface.h:15
virtual bool Release()=0
This function releases the customized video decoder.
size_t length
Encoded frame buffer length.
Definition: videodecoderinterface.h:17
Definition: audioplayerinterface.h:8
bool is_key_frame
Key frame flag.
Definition: videodecoderinterface.h:21
virtual VideoDecoderInterface * Copy()=0
This function generates the customized decoder for each peer connection.
Video encoded frame definition.
Definition: videodecoderinterface.h:13
virtual ~VideoDecoderInterface()
Destructor.
Definition: videodecoderinterface.h:32
virtual bool OnEncodedFrame(std::unique_ptr< VideoEncodedFrame > frame)=0
This function receives the encoded frame for the further decoding.