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 |