Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1242)

Unified Diff: media/mojo/services/mojo_decryptor_service.h

Issue 1538063003: Use data pipe to pass DecoderBuffer contents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changes (+rebase) Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/mojo/services/mojo_decryptor.cc ('k') | media/mojo/services/mojo_decryptor_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/mojo/services/mojo_decryptor_service.h
diff --git a/media/mojo/services/mojo_decryptor_service.h b/media/mojo/services/mojo_decryptor_service.h
index fe00699e4ee151c8394f0705b7fde58afea689f6..b5bf2ff2a1284cf75b527f89100491fdbc56e56e 100644
--- a/media/mojo/services/mojo_decryptor_service.h
+++ b/media/mojo/services/mojo_decryptor_service.h
@@ -12,6 +12,7 @@
#include "media/mojo/interfaces/decryptor.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/callback.h"
+#include "mojo/public/cpp/system/data_pipe.h"
namespace media {
@@ -32,6 +33,8 @@ class MojoDecryptorService : public interfaces::Decryptor {
~MojoDecryptorService() final;
// interfaces::Decryptor implementation.
+ void Initialize(mojo::ScopedDataPipeConsumerHandle receive_pipe,
+ mojo::ScopedDataPipeProducerHandle transmit_pipe) final;
void Decrypt(interfaces::DemuxerStream::Type stream_type,
interfaces::DecoderBufferPtr encrypted,
const DecryptCallback& callback) final;
@@ -71,9 +74,19 @@ class MojoDecryptorService : public interfaces::Decryptor {
media::Decryptor::Status status,
const scoped_refptr<VideoFrame>& frame);
+ // Helper functions to write and read a DecoderBuffer.
+ interfaces::DecoderBufferPtr TransferDecoderBuffer(
+ const scoped_refptr<DecoderBuffer>& buffer);
+ scoped_refptr<DecoderBuffer> ReadDecoderBuffer(
+ interfaces::DecoderBufferPtr buffer);
+
// A weak binding is used to connect to the MojoDecryptor.
mojo::Binding<interfaces::Decryptor> binding_;
+ // DataPipes for serializing the data section of DecoderBuffer into/from.
+ mojo::ScopedDataPipeProducerHandle producer_handle_;
+ mojo::ScopedDataPipeConsumerHandle consumer_handle_;
+
// Keep ownership of |cdm_| while it is being used. |decryptor_| is the actual
// Decryptor referenced by |cdm_|.
scoped_refptr<MediaKeys> cdm_;
« no previous file with comments | « media/mojo/services/mojo_decryptor.cc ('k') | media/mojo/services/mojo_decryptor_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698