feat: video publishing (#42)
- Prepare webrtc abstraction ( for future wasm support ) - Added track publish support for videos - Added LogoTrack example to simple_room demo - Lot of cleanup - There are compiler warnings I'll solve on our v1 release
This commit is contained in:
@@ -49,8 +49,9 @@ class VideoFrameBuffer {
|
||||
int width() const;
|
||||
int height() const;
|
||||
|
||||
// Takes ownership
|
||||
std::unique_ptr<I420Buffer> to_i420();
|
||||
std::unique_ptr<I420Buffer> to_i420() const;
|
||||
|
||||
// Requires ownership
|
||||
std::unique_ptr<I420Buffer> get_i420();
|
||||
std::unique_ptr<I420ABuffer> get_i420a();
|
||||
std::unique_ptr<I422Buffer> get_i422();
|
||||
@@ -131,7 +132,9 @@ class BiplanarYuv8Buffer : public BiplanarYuvBuffer {
|
||||
webrtc::BiplanarYuv8Buffer* buffer() const;
|
||||
};
|
||||
|
||||
std::unique_ptr<I420Buffer> create_i420_buffer(int width, int height);
|
||||
std::unique_ptr<I420Buffer> new_i420_buffer(int width, int height);
|
||||
std::unique_ptr<I420Buffer> copy_i420_buffer(
|
||||
const std::unique_ptr<I420Buffer>& i420);
|
||||
|
||||
class I420Buffer : public PlanarYuv8Buffer {
|
||||
public:
|
||||
@@ -141,6 +144,12 @@ class I420Buffer : public PlanarYuv8Buffer {
|
||||
class I420ABuffer : public I420Buffer {
|
||||
public:
|
||||
explicit I420ABuffer(rtc::scoped_refptr<webrtc::I420ABufferInterface> buffer);
|
||||
|
||||
int stride_a() const;
|
||||
const uint8_t* data_a() const;
|
||||
|
||||
private:
|
||||
webrtc::I420ABufferInterface* buffer() const;
|
||||
};
|
||||
|
||||
class I422Buffer : public PlanarYuv8Buffer {
|
||||
|
||||
Reference in New Issue
Block a user