feat: Frame Processors: Allow returning Frames (support for resize and other frame manipulations) (#185)

* batch

* Init Frame as box

* Use ObjC syntax

* Fix access

* Revert "Fix access"

This reverts commit 7de09e52739d4c2b53f485d5ed696f1665fa5737.

* Revert "Use ObjC syntax"

This reverts commit e33f05ae8451cc4ee24af41d14dc76a57c157554.

* Revert "Init Frame as box"

This reverts commit 5adafb6109bfbf7fddb8ddc4af7d306b7b76b476.

* use holder

* convert buffer <-> jsi object

* add docs

* add more docs

* Update JSIUtils.mm

* Update FRAME_PROCESSORS_CREATE_OVERVIEW.mdx

* Update CameraView+RecordVideo.swift
This commit is contained in:
Marc Rousavy
2021-06-08 14:20:07 +02:00
committed by GitHub
parent 1b08c0cbae
commit 4038db2e28
10 changed files with 112 additions and 40 deletions

View File

@@ -8,19 +8,21 @@
#pragma once
#import "Frame.h"
#import <jsi/jsi.h>
#import <CoreMedia/CMSampleBuffer.h>
using namespace facebook;
class JSI_EXPORT FrameHostObject: public Frame, public jsi::HostObject {
class JSI_EXPORT FrameHostObject: public jsi::HostObject {
public:
explicit FrameHostObject(CMSampleBufferRef buffer): Frame(buffer) {}
explicit FrameHostObject(CMSampleBufferRef buffer): buffer(buffer) {}
~FrameHostObject();
public:
jsi::Value get(jsi::Runtime&, const jsi::PropNameID& name) override;
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt) override;
void destroyBuffer();
public:
CMSampleBufferRef buffer;
};