/// <summary> /// Sends a frame returned by |GetEmptyFrame()| to the output track. /// After this function, the |frame| should not be used anymore and the /// caller should release the reference that it holds. /// </summary> /// <param name="frame"></param> /// <returns>Error code</returns> public PPError PutFrame(VideoFrame frame) => (PPError)PPBMediaStreamVideoTrack.PutFrame(this, frame);
public VideoFrameInfo(PPError result, PPResource videoFrame) { Result = result; VideoFrame = new VideoFrame(PassRef.PassRef, videoFrame); }
/// <summary> /// Recycles a frame returned by <code>GetFrame()</code>, so the track can /// reuse the underlying buffer of this frame. And the frame will become /// invalid. The caller should release all references it holds to /// <code>frame</code> and not use it anymore. /// </summary> /// <param name="frame">A VideoFrame returned by <code>GetFrame()</code>.</param> /// <returns>Error code</returns> public PPError RecycleFrame(VideoFrame frame) => (PPError)PPBMediaStreamVideoTrack.RecycleFrame(this, frame);