| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/gpu/vt_video_encode_accelerator_mac.h" | 5 #include "media/gpu/vt_video_encode_accelerator_mac.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 frame_rate_ = framerate > 1 ? framerate : 1; | 331 frame_rate_ = framerate > 1 ? framerate : 1; |
| 332 media::video_toolbox::SessionPropertySetter session_property_setter( | 332 media::video_toolbox::SessionPropertySetter session_property_setter( |
| 333 compression_session_, videotoolbox_glue_); | 333 compression_session_, videotoolbox_glue_); |
| 334 rv = session_property_setter.Set( | 334 rv = session_property_setter.Set( |
| 335 videotoolbox_glue_->kVTCompressionPropertyKey_ExpectedFrameRate(), | 335 videotoolbox_glue_->kVTCompressionPropertyKey_ExpectedFrameRate(), |
| 336 frame_rate_); | 336 frame_rate_); |
| 337 DLOG_IF(ERROR, !rv) | 337 DLOG_IF(ERROR, !rv) |
| 338 << "Couldn't change frame rate parameters of encode session."; | 338 << "Couldn't change frame rate parameters of encode session."; |
| 339 } | 339 } |
| 340 | 340 |
| 341 if (bitrate != static_cast<uint32_t>(adjusted_bitrate_)) { | 341 if (bitrate != static_cast<uint32_t>(adjusted_bitrate_ && bitrate != 0)) { |
| 342 target_bitrate_ = bitrate > 1 ? bitrate : 1; | |
| 343 bitrate_adjuster_.SetTargetBitrateBps(target_bitrate_); | 342 bitrate_adjuster_.SetTargetBitrateBps(target_bitrate_); |
| 344 adjusted_bitrate_ = bitrate_adjuster_.GetAdjustedBitrateBps(); | 343 adjusted_bitrate_ = bitrate_adjuster_.GetAdjustedBitrateBps(); |
| 345 media::video_toolbox::SessionPropertySetter session_property_setter( | 344 media::video_toolbox::SessionPropertySetter session_property_setter( |
| 346 compression_session_, videotoolbox_glue_); | 345 compression_session_, videotoolbox_glue_); |
| 347 rv = session_property_setter.Set( | 346 rv = session_property_setter.Set( |
| 348 videotoolbox_glue_->kVTCompressionPropertyKey_AverageBitRate(), | 347 videotoolbox_glue_->kVTCompressionPropertyKey_AverageBitRate(), |
| 349 adjusted_bitrate_); | 348 adjusted_bitrate_); |
| 350 rv &= session_property_setter.Set( | 349 rv &= session_property_setter.Set( |
| 351 videotoolbox_glue_->kVTCompressionPropertyKey_DataRateLimits(), | 350 videotoolbox_glue_->kVTCompressionPropertyKey_DataRateLimits(), |
| 352 media::video_toolbox::ArrayWithIntegerAndFloat( | 351 media::video_toolbox::ArrayWithIntegerAndFloat( |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 (encoder_thread_.IsRunning() && | 571 (encoder_thread_.IsRunning() && |
| 573 encoder_thread_task_runner_->BelongsToCurrentThread())); | 572 encoder_thread_task_runner_->BelongsToCurrentThread())); |
| 574 | 573 |
| 575 if (compression_session_) { | 574 if (compression_session_) { |
| 576 videotoolbox_glue_->VTCompressionSessionInvalidate(compression_session_); | 575 videotoolbox_glue_->VTCompressionSessionInvalidate(compression_session_); |
| 577 compression_session_.reset(); | 576 compression_session_.reset(); |
| 578 } | 577 } |
| 579 } | 578 } |
| 580 | 579 |
| 581 } // namespace media | 580 } // namespace media |
| OLD | NEW |