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

Side by Side Diff: content/renderer/media/media_stream_video_source.cc

Issue 2870413004: Detect frames from rotated devices in VideoTrackAdapter on Android. (Closed)
Patch Set: address comment by tommi@ Created 3 years, 7 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/renderer/media/media_stream_video_source.h" 5 #include "content/renderer/media/media_stream_video_source.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 &max_aspect_ratio); 637 &max_aspect_ratio);
638 double max_frame_rate = 0.0f; 638 double max_frame_rate = 0.0f;
639 // Note: Optional and ideal constraints are ignored; this is 639 // Note: Optional and ideal constraints are ignored; this is
640 // purely a hard max limit. 640 // purely a hard max limit.
641 if (track.constraints.Basic().frame_rate.HasMax()) 641 if (track.constraints.Basic().frame_rate.HasMax())
642 max_frame_rate = track.constraints.Basic().frame_rate.Max(); 642 max_frame_rate = track.constraints.Basic().frame_rate.Max();
643 643
644 track_adapter_->AddTrack( 644 track_adapter_->AddTrack(
645 track.track, track.frame_callback, 645 track.track, track.frame_callback,
646 VideoTrackAdapterSettings(max_width, max_height, min_aspect_ratio, 646 VideoTrackAdapterSettings(max_width, max_height, min_aspect_ratio,
647 max_aspect_ratio, max_frame_rate)); 647 max_aspect_ratio, max_frame_rate,
648 base::Optional<gfx::Size>()));
648 // Calculate resulting frame size if the source delivers frames 649 // Calculate resulting frame size if the source delivers frames
649 // according to the current format. Note: Format may change later. 650 // according to the current format. Note: Format may change later.
650 gfx::Size desired_size; 651 gfx::Size desired_size;
651 VideoTrackAdapter::CalculateTargetSize( 652 VideoTrackAdapter::CalculateTargetSize(
652 current_format_.frame_size, gfx::Size(max_width, max_height), 653 false /* is_rotated */, current_format_.frame_size,
653 min_aspect_ratio, max_aspect_ratio, &desired_size); 654 gfx::Size(max_width, max_height), min_aspect_ratio, max_aspect_ratio,
655 &desired_size);
654 track.track->SetTargetSizeAndFrameRate( 656 track.track->SetTargetSizeAndFrameRate(
655 desired_size.width(), desired_size.height(), max_frame_rate); 657 desired_size.width(), desired_size.height(), max_frame_rate);
656 } 658 }
657 659
658 DVLOG(3) << "FinalizeAddTrackLegacy() result " << result; 660 DVLOG(3) << "FinalizeAddTrackLegacy() result " << result;
659 661
660 if (!track.callback.is_null()) 662 if (!track.callback.is_null())
661 track.callback.Run(this, result, 663 track.callback.Run(this, result,
662 blink::WebString::FromUTF8(unsatisfied_constraint)); 664 blink::WebString::FromUTF8(unsatisfied_constraint));
663 } 665 }
(...skipping 10 matching lines...) Expand all
674 result = MEDIA_DEVICE_TRACK_START_FAILURE; 676 result = MEDIA_DEVICE_TRACK_START_FAILURE;
675 677
676 if (result == MEDIA_DEVICE_OK) { 678 if (result == MEDIA_DEVICE_OK) {
677 track_adapter_->AddTrack(track.track, track.frame_callback, 679 track_adapter_->AddTrack(track.track, track.frame_callback,
678 *track.adapter_settings); 680 *track.adapter_settings);
679 681
680 // Calculate resulting frame size if the source delivers frames 682 // Calculate resulting frame size if the source delivers frames
681 // according to the current format. Note: Format may change later. 683 // according to the current format. Note: Format may change later.
682 gfx::Size desired_size; 684 gfx::Size desired_size;
683 VideoTrackAdapter::CalculateTargetSize( 685 VideoTrackAdapter::CalculateTargetSize(
686 false /* is_rotated */,
684 GetCurrentFormat() ? GetCurrentFormat()->frame_size 687 GetCurrentFormat() ? GetCurrentFormat()->frame_size
685 : gfx::Size(track.adapter_settings->max_width, 688 : gfx::Size(track.adapter_settings->max_width,
686 track.adapter_settings->max_height), 689 track.adapter_settings->max_height),
687 gfx::Size(track.adapter_settings->max_width, 690 gfx::Size(track.adapter_settings->max_width,
688 track.adapter_settings->max_height), 691 track.adapter_settings->max_height),
689 track.adapter_settings->min_aspect_ratio, 692 track.adapter_settings->min_aspect_ratio,
690 track.adapter_settings->max_aspect_ratio, &desired_size); 693 track.adapter_settings->max_aspect_ratio, &desired_size);
691 track.track->SetTargetSizeAndFrameRate( 694 track.track->SetTargetSizeAndFrameRate(
692 desired_size.width(), desired_size.height(), 695 desired_size.width(), desired_size.height(),
693 track.adapter_settings->max_frame_rate); 696 track.adapter_settings->max_frame_rate);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 MediaStreamVideoSource::TrackDescriptor::TrackDescriptor( 748 MediaStreamVideoSource::TrackDescriptor::TrackDescriptor(
746 TrackDescriptor&& other) = default; 749 TrackDescriptor&& other) = default;
747 MediaStreamVideoSource::TrackDescriptor& 750 MediaStreamVideoSource::TrackDescriptor&
748 MediaStreamVideoSource::TrackDescriptor::operator=( 751 MediaStreamVideoSource::TrackDescriptor::operator=(
749 MediaStreamVideoSource::TrackDescriptor&& other) = default; 752 MediaStreamVideoSource::TrackDescriptor&& other) = default;
750 753
751 MediaStreamVideoSource::TrackDescriptor::~TrackDescriptor() { 754 MediaStreamVideoSource::TrackDescriptor::~TrackDescriptor() {
752 } 755 }
753 756
754 } // namespace content 757 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698