| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "mojo/public/cpp/application/connect.h" |
| 6 #include "services/media/factory_service/media_player_impl.h" | 7 #include "services/media/factory_service/media_player_impl.h" |
| 7 #include "services/media/framework/parts/reader.h" | 8 #include "services/media/framework/parts/reader.h" |
| 8 #include "services/media/framework/util/callback_joiner.h" | 9 #include "services/media/framework/util/callback_joiner.h" |
| 9 | 10 |
| 10 namespace mojo { | 11 namespace mojo { |
| 11 namespace media { | 12 namespace media { |
| 12 | 13 |
| 13 // static | 14 // static |
| 14 std::shared_ptr<MediaPlayerImpl> MediaPlayerImpl::Create( | 15 std::shared_ptr<MediaPlayerImpl> MediaPlayerImpl::Create( |
| 15 InterfaceHandle<SeekingReader> reader, | 16 InterfaceHandle<SeekingReader> reader, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 32 status->timeline_transform = transform_.Clone(); | 33 status->timeline_transform = transform_.Clone(); |
| 33 status->metadata = metadata_.Clone(); | 34 status->metadata = metadata_.Clone(); |
| 34 callback.Run(version, status.Pass()); | 35 callback.Run(version, status.Pass()); |
| 35 }); | 36 }); |
| 36 | 37 |
| 37 state_ = State::kWaiting; | 38 state_ = State::kWaiting; |
| 38 | 39 |
| 39 // Go away when the client is no longer connected. | 40 // Go away when the client is no longer connected. |
| 40 binding_.set_connection_error_handler([this]() { ReleaseFromOwner(); }); | 41 binding_.set_connection_error_handler([this]() { ReleaseFromOwner(); }); |
| 41 | 42 |
| 42 app()->ConnectToServiceDeprecated("mojo:media_factory", &factory_); | 43 ConnectToService(app()->shell(), "mojo:media_factory", GetProxy(&factory_)); |
| 43 | 44 |
| 44 factory_->CreateDemux(reader.Pass(), GetProxy(&demux_)); | 45 factory_->CreateDemux(reader.Pass(), GetProxy(&demux_)); |
| 45 | 46 |
| 46 HandleDemuxMetadataUpdates(); | 47 HandleDemuxMetadataUpdates(); |
| 47 | 48 |
| 48 demux_->Describe([this](mojo::Array<MediaTypePtr> stream_types) { | 49 demux_->Describe([this](mojo::Array<MediaTypePtr> stream_types) { |
| 49 // Populate streams_ and enable the streams we want. | 50 // Populate streams_ and enable the streams we want. |
| 50 std::shared_ptr<CallbackJoiner> callback_joiner = CallbackJoiner::Create(); | 51 std::shared_ptr<CallbackJoiner> callback_joiner = CallbackJoiner::Create(); |
| 51 | 52 |
| 52 for (MediaTypePtr& stream_type : stream_types) { | 53 for (MediaTypePtr& stream_type : stream_types) { |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 }); | 353 }); |
| 353 } | 354 } |
| 354 | 355 |
| 355 MediaPlayerImpl::Stream::Stream(size_t index, MediaTypePtr media_type) | 356 MediaPlayerImpl::Stream::Stream(size_t index, MediaTypePtr media_type) |
| 356 : index_(index), media_type_(media_type.Pass()) {} | 357 : index_(index), media_type_(media_type.Pass()) {} |
| 357 | 358 |
| 358 MediaPlayerImpl::Stream::~Stream() {} | 359 MediaPlayerImpl::Stream::~Stream() {} |
| 359 | 360 |
| 360 } // namespace media | 361 } // namespace media |
| 361 } // namespace mojo | 362 } // namespace mojo |
| OLD | NEW |