| Index: services/media/factory_service/media_source_impl.cc
|
| diff --git a/services/media/factory_service/media_source_impl.cc b/services/media/factory_service/media_source_impl.cc
|
| index 4c6d439b9b6c5d36f904ec8b2bf0fcdb4d3560ef..10311bc4cc327de9fe343fb72d38602fdd8424a8 100644
|
| --- a/services/media/factory_service/media_source_impl.cc
|
| +++ b/services/media/factory_service/media_source_impl.cc
|
| @@ -31,8 +31,7 @@ MediaSourceImpl::MediaSourceImpl(
|
| const Array<MediaTypeSetPtr>& allowed_media_types,
|
| InterfaceRequest<MediaSource> request,
|
| MediaFactoryService* owner)
|
| - : MediaFactoryService::Product(owner),
|
| - binding_(this, request.Pass()),
|
| + : MediaFactoryService::Product<MediaSource>(this, request.Pass(), owner),
|
| allowed_media_types_(allowed_media_types.Clone()) {
|
| DCHECK(reader);
|
|
|
| @@ -48,9 +47,6 @@ MediaSourceImpl::MediaSourceImpl(
|
| callback.Run(version, status.Pass());
|
| });
|
|
|
| - // Go away when the client is no longer connected.
|
| - binding_.set_connection_error_handler([this]() { ReleaseFromOwner(); });
|
| -
|
| std::shared_ptr<Reader> reader_ptr = MojoReader::Create(reader.Pass());
|
| if (!reader_ptr) {
|
| NOTREACHED() << "couldn't create reader";
|
| @@ -109,7 +105,7 @@ void MediaSourceImpl::GetStreams(const GetStreamsCallback& callback) {
|
|
|
| void MediaSourceImpl::GetProducer(uint32_t stream_index,
|
| InterfaceRequest<MediaProducer> producer) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| if (stream_index >= streams_.size()) {
|
| return;
|
| @@ -121,7 +117,7 @@ void MediaSourceImpl::GetProducer(uint32_t stream_index,
|
| void MediaSourceImpl::GetPullModeProducer(
|
| uint32_t stream_index,
|
| InterfaceRequest<MediaPullModeProducer> producer) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| if (stream_index >= streams_.size()) {
|
| return;
|
| @@ -136,7 +132,7 @@ void MediaSourceImpl::GetStatus(uint64_t version_last_seen,
|
| }
|
|
|
| void MediaSourceImpl::Prepare(const PrepareCallback& callback) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| for (std::unique_ptr<Stream>& stream : streams_) {
|
| stream->EnsureSink();
|
| @@ -148,7 +144,7 @@ void MediaSourceImpl::Prepare(const PrepareCallback& callback) {
|
| }
|
|
|
| void MediaSourceImpl::Prime(const PrimeCallback& callback) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| std::shared_ptr<CallbackJoiner> callback_joiner = CallbackJoiner::Create();
|
|
|
| @@ -160,7 +156,7 @@ void MediaSourceImpl::Prime(const PrimeCallback& callback) {
|
| }
|
|
|
| void MediaSourceImpl::Flush(const FlushCallback& callback) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| graph_.FlushAllOutputs(demux_part_);
|
|
|
| @@ -174,7 +170,7 @@ void MediaSourceImpl::Flush(const FlushCallback& callback) {
|
| }
|
|
|
| void MediaSourceImpl::Seek(int64_t position, const SeekCallback& callback) {
|
| - DCHECK(init_complete_.occurred());
|
| + RCHECK(init_complete_.occurred());
|
|
|
| demux_->Seek(position, [this, callback]() {
|
| task_runner_->PostTask(FROM_HERE, base::Bind(&RunSeekCallback, callback));
|
|
|