Index: services/media/framework_create/decoder.cc |
diff --git a/services/media/framework_create/decoder.cc b/services/media/framework_create/decoder.cc |
index c88dc58085b66549c20c136b9e88c93cc5407587..9a52410090d8081f1246de117614776efca4f79e 100644 |
--- a/services/media/framework_create/decoder.cc |
+++ b/services/media/framework_create/decoder.cc |
@@ -3,14 +3,24 @@ |
// found in the LICENSE file. |
#include "services/media/framework/parts/decoder.h" |
+#include "services/media/framework_ffmpeg/ffmpeg_decoder.h" |
namespace mojo { |
namespace media { |
Result Decoder::Create( |
- const std::unique_ptr<StreamType>& stream_type, |
+ const StreamType& stream_type, |
std::shared_ptr<Decoder>* decoder_out) { |
- return Result::kUnsupportedOperation; |
+ std::shared_ptr<Decoder> decoder; |
+ Result result = FfmpegDecoder::Create(stream_type, &decoder); |
+ if (result == Result::kOk) { |
+ result = decoder->Init(stream_type); |
+ if (result == Result::kOk) { |
+ *decoder_out = decoder; |
+ } |
+ } |
+ |
+ return result; |
} |
} // namespace media |