Index: services/media/factory_service/media_decoder_impl.cc |
diff --git a/services/media/factory_service/media_decoder_impl.cc b/services/media/factory_service/media_decoder_impl.cc |
index 137d226ee5debf6bc1aae72369f4771b0d948281..2e0049456e9cf5191aa16599b211d3736cd8f9e4 100644 |
--- a/services/media/factory_service/media_decoder_impl.cc |
+++ b/services/media/factory_service/media_decoder_impl.cc |
@@ -21,23 +21,19 @@ std::shared_ptr<MediaDecoderImpl> MediaDecoderImpl::Create( |
MediaDecoderImpl::MediaDecoderImpl(MediaTypePtr input_media_type, |
InterfaceRequest<MediaTypeConverter> request, |
MediaFactoryService* owner) |
- : MediaFactoryService::Product(owner), |
- binding_(this, request.Pass()), |
+ : MediaFactoryService::Product<MediaTypeConverter>(this, |
+ request.Pass(), |
+ owner), |
consumer_(MojoConsumer::Create()), |
producer_(MojoProducer::Create()) { |
DCHECK(input_media_type); |
- // Go away when the client is no longer connected. |
- binding_.set_connection_error_handler([this]() { ReleaseFromOwner(); }); |
- |
std::unique_ptr<StreamType> input_stream_type = |
input_media_type.To<std::unique_ptr<StreamType>>(); |
if (Decoder::Create(*input_stream_type, &decoder_) != Result::kOk) { |
LOG(WARNING) << "Couldn't find decoder for stream type"; |
- if (binding_.is_bound()) { |
- binding_.Close(); |
- } |
+ UnbindAndReleaseFromOwner(); |
return; |
} |