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

Unified Diff: media/mojo/services/media_resource_shim.cc

Issue 2491043003: MediaResource refactoring to support multiple streams (Closed)
Patch Set: rebase Created 3 years, 11 months 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
Index: media/mojo/services/media_resource_shim.cc
diff --git a/media/mojo/services/demuxer_stream_provider_shim.cc b/media/mojo/services/media_resource_shim.cc
similarity index 63%
rename from media/mojo/services/demuxer_stream_provider_shim.cc
rename to media/mojo/services/media_resource_shim.cc
index bf29ce1aefd6de5610b0abf83eb971a1115af553..d57c4871fbebcfcc0aed8936ba2ed129b09e45f3 100644
--- a/media/mojo/services/demuxer_stream_provider_shim.cc
+++ b/media/mojo/services/media_resource_shim.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "media/mojo/services/demuxer_stream_provider_shim.h"
+#include "media/mojo/services/media_resource_shim.h"
#include <utility>
@@ -12,7 +12,7 @@
namespace media {
-DemuxerStreamProviderShim::DemuxerStreamProviderShim(
+MediaResourceShim::MediaResourceShim(
std::vector<mojom::DemuxerStreamPtr> streams,
const base::Closure& demuxer_ready_cb)
: demuxer_ready_cb_(demuxer_ready_cb),
@@ -23,25 +23,22 @@ DemuxerStreamProviderShim::DemuxerStreamProviderShim(
for (auto& s : streams) {
streams_.emplace_back(new MojoDemuxerStreamAdapter(
- std::move(s), base::Bind(&DemuxerStreamProviderShim::OnStreamReady,
+ std::move(s), base::Bind(&MediaResourceShim::OnStreamReady,
weak_factory_.GetWeakPtr())));
}
}
-DemuxerStreamProviderShim::~DemuxerStreamProviderShim() {
-}
+MediaResourceShim::~MediaResourceShim() {}
-DemuxerStream* DemuxerStreamProviderShim::GetStream(DemuxerStream::Type type) {
+std::vector<DemuxerStream*> MediaResourceShim::GetStreams() {
DCHECK(demuxer_ready_cb_.is_null());
- for (auto& stream : streams_) {
- if (stream->type() == type)
- return stream.get();
- }
-
- return nullptr;
+ std::vector<DemuxerStream*> result;
+ for (auto& stream : streams_)
+ result.push_back(stream.get());
tguilbert 2017/01/24 23:24:41 Is there a difference between this code using the
servolk 2017/01/25 00:57:32 We can't use a copy constructor, since |streams_|
tguilbert 2017/01/25 02:36:46 Oops, you are right, I missed |streams_|'s type.
+ return result;
}
-void DemuxerStreamProviderShim::OnStreamReady() {
+void MediaResourceShim::OnStreamReady() {
if (++streams_ready_ == streams_.size())
base::ResetAndReturn(&demuxer_ready_cb_).Run();
}

Powered by Google App Engine
This is Rietveld 408576698