Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: media/base/pipeline_impl.cc

Issue 2622803002: Clean-up: media::PipelineMetadata stores the rotated video size. (Closed)
Patch Set: Addressed comments. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | media/base/pipeline_metadata.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | media/base/pipeline_metadata.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698