| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "media/base/pipeline_impl.h" | 5 #include "media/base/pipeline_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "media/base/text_renderer.h" | 27 #include "media/base/text_renderer.h" |
| 28 #include "media/base/text_track_config.h" | 28 #include "media/base/text_track_config.h" |
| 29 #include "media/base/timestamp_constants.h" | 29 #include "media/base/timestamp_constants.h" |
| 30 #include "media/base/video_decoder_config.h" | 30 #include "media/base/video_decoder_config.h" |
| 31 | 31 |
| 32 static const double kDefaultPlaybackRate = 0.0; | 32 static const double kDefaultPlaybackRate = 0.0; |
| 33 static const float kDefaultVolume = 1.0f; | 33 static const float kDefaultVolume = 1.0f; |
| 34 | 34 |
| 35 namespace media { | 35 namespace media { |
| 36 | 36 |
| 37 namespace { |
| 38 |
| 39 gfx::Size GetRotatedVideoSize(VideoRotation rotation, gfx::Size natural_size) { |
| 40 if (rotation == VIDEO_ROTATION_90 || rotation == VIDEO_ROTATION_270) |
| 41 return gfx::Size(natural_size.height(), natural_size.width()); |
| 42 return natural_size; |
| 43 } |
| 44 |
| 45 } // namespace |
| 46 |
| 37 class PipelineImpl::RendererWrapper : public DemuxerHost, | 47 class PipelineImpl::RendererWrapper : public DemuxerHost, |
| 38 public RendererClient { | 48 public RendererClient { |
| 39 public: | 49 public: |
| 40 RendererWrapper(scoped_refptr<base::SingleThreadTaskRunner> media_task_runner, | 50 RendererWrapper(scoped_refptr<base::SingleThreadTaskRunner> media_task_runner, |
| 41 scoped_refptr<MediaLog> media_log); | 51 scoped_refptr<MediaLog> media_log); |
| 42 ~RendererWrapper() final; | 52 ~RendererWrapper() final; |
| 43 | 53 |
| 44 void Start(Demuxer* demuxer, | 54 void Start(Demuxer* demuxer, |
| 45 std::unique_ptr<Renderer> renderer, | 55 std::unique_ptr<Renderer> renderer, |
| 46 std::unique_ptr<TextRenderer> text_renderer, | 56 std::unique_ptr<TextRenderer> text_renderer, |
| (...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 887 | 897 |
| 888 PipelineMetadata metadata; | 898 PipelineMetadata metadata; |
| 889 DemuxerStream* stream; | 899 DemuxerStream* stream; |
| 890 | 900 |
| 891 switch (demuxer_->GetType()) { | 901 switch (demuxer_->GetType()) { |
| 892 case DemuxerStreamProvider::Type::STREAM: | 902 case DemuxerStreamProvider::Type::STREAM: |
| 893 metadata.timeline_offset = demuxer_->GetTimelineOffset(); | 903 metadata.timeline_offset = demuxer_->GetTimelineOffset(); |
| 894 stream = demuxer_->GetStream(DemuxerStream::VIDEO); | 904 stream = demuxer_->GetStream(DemuxerStream::VIDEO); |
| 895 if (stream) { | 905 if (stream) { |
| 896 metadata.has_video = true; | 906 metadata.has_video = true; |
| 897 metadata.natural_size = stream->video_decoder_config().natural_size(); | 907 metadata.natural_size = |
| 908 GetRotatedVideoSize(stream->video_rotation(), |
| 909 stream->video_decoder_config().natural_size()); |
| 898 metadata.video_rotation = stream->video_rotation(); | 910 metadata.video_rotation = stream->video_rotation(); |
| 899 metadata.video_decoder_config = stream->video_decoder_config(); | 911 metadata.video_decoder_config = stream->video_decoder_config(); |
| 900 } | 912 } |
| 901 stream = demuxer_->GetStream(DemuxerStream::AUDIO); | 913 stream = demuxer_->GetStream(DemuxerStream::AUDIO); |
| 902 if (stream) { | 914 if (stream) { |
| 903 metadata.has_audio = true; | 915 metadata.has_audio = true; |
| 904 metadata.audio_decoder_config = stream->audio_decoder_config(); | 916 metadata.audio_decoder_config = stream->audio_decoder_config(); |
| 905 } | 917 } |
| 906 break; | 918 break; |
| 907 | 919 |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1321 void PipelineImpl::OnSuspendDone() { | 1333 void PipelineImpl::OnSuspendDone() { |
| 1322 DVLOG(3) << __func__; | 1334 DVLOG(3) << __func__; |
| 1323 DCHECK(thread_checker_.CalledOnValidThread()); | 1335 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1324 DCHECK(IsRunning()); | 1336 DCHECK(IsRunning()); |
| 1325 | 1337 |
| 1326 DCHECK(!suspend_cb_.is_null()); | 1338 DCHECK(!suspend_cb_.is_null()); |
| 1327 base::ResetAndReturn(&suspend_cb_).Run(PIPELINE_OK); | 1339 base::ResetAndReturn(&suspend_cb_).Run(PIPELINE_OK); |
| 1328 } | 1340 } |
| 1329 | 1341 |
| 1330 } // namespace media | 1342 } // namespace media |
| OLD | NEW |