Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create TextureStream.md #2743

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
introduce FinishUsingBuffer
sunggook committed Sep 27, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit d28f0a3b4ec75ff655e7920ac0b7fe63ae67693c
17 changes: 6 additions & 11 deletions specs/APIReview_TextureStream.md
Original file line number Diff line number Diff line change
@@ -368,13 +368,6 @@ interface ICoreWebView2StagingTextureStream : IUnknown {
[in] ICoreWebView2StagingTextureStreamStopTextureReceivedEventHandler* eventHandler,
[out] EventRegistrationToken* token);
HRESULT remove_StopTextureReceived([in] EventRegistrationToken token);
/// Creates number of shared buffers for texture received from the browser to
/// the host. The proper shared buffer count is important in order not to drop
/// video frame. Dropping video frame usually leads to poor video quality.
/// The default count is 4 based on heuristic test.
/// The buffer count is per different image size that means if there are
/// variable image sizes, then it will use more buffers.
[propput] HRESULT TextureReceivedBufferCount([in] UINT32 count);
/// Adds an allowed url origin for the given stream id for texture received
/// operation. Javascript can send texture stream to the host only when
/// the origin it runs are allowed by the host.
@@ -469,15 +462,17 @@ interface ICoreWebView2StagingTextureStreamTextureReceivedEventArgs : IUnknown {
/// handle value as a unique buffer key.
[propget] HRESULT Handle([out, retval] HANDLE* handle);

/// Texture buffer resource. The resource's lifetime is owned by the
/// ICoreWebView2StagingTextureStream object so the host must not close it.

/// Texture buffer resource.
/// The same resource value will be used for same buffer so the host can use
/// resource value as a unique buffer key.
/// resource value as a unique buffer key.
[propget] HRESULT Resource([out, retval] IUnknown** resource);

/// It is timestamp that the original sent video frame's during SetBuffer.
[propget] HRESULT Timestamp([out, retval] ULONGLONG* timestamp);

/// The host notifies the browser that it is done with current the buffer handle,
/// so the browser can recycle the buffer again.
HRESULT FinishUsingBuffer();
}
/// This is the callback for texture received stop.
[uuid(77eb4638-2f05-11ed-a261-0242ac120002), object, pointer_default(unique)]