| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 | 113 |
| 114 // An EncodedImageCallback implementation that forwards on calls to a | 114 // An EncodedImageCallback implementation that forwards on calls to a |
| 115 // SimulcastEncoderAdapter, but with the stream index it's registered with as | 115 // SimulcastEncoderAdapter, but with the stream index it's registered with as |
| 116 // the first parameter to Encoded. | 116 // the first parameter to Encoded. |
| 117 class AdapterEncodedImageCallback : public webrtc::EncodedImageCallback { | 117 class AdapterEncodedImageCallback : public webrtc::EncodedImageCallback { |
| 118 public: | 118 public: |
| 119 AdapterEncodedImageCallback(webrtc::SimulcastEncoderAdapter* adapter, | 119 AdapterEncodedImageCallback(webrtc::SimulcastEncoderAdapter* adapter, |
| 120 size_t stream_idx) | 120 size_t stream_idx) |
| 121 : adapter_(adapter), stream_idx_(stream_idx) {} | 121 : adapter_(adapter), stream_idx_(stream_idx) {} |
| 122 | 122 |
| 123 int32_t Encoded( | 123 EncodedImageCallback::Result OnEncodedImage( |
| 124 const webrtc::EncodedImage& encodedImage, | 124 const webrtc::EncodedImage& encoded_image, |
| 125 const webrtc::CodecSpecificInfo* codecSpecificInfo = NULL, | 125 const webrtc::CodecSpecificInfo* codec_specific_info, |
| 126 const webrtc::RTPFragmentationHeader* fragmentation = NULL) override { | 126 const webrtc::RTPFragmentationHeader* fragmentation) override { |
| 127 return adapter_->Encoded(stream_idx_, encodedImage, codecSpecificInfo, | 127 return adapter_->OnEncodedImage(stream_idx_, encoded_image, |
| 128 fragmentation); | 128 codec_specific_info, fragmentation); |
| 129 } | 129 } |
| 130 | 130 |
| 131 private: | 131 private: |
| 132 webrtc::SimulcastEncoderAdapter* const adapter_; | 132 webrtc::SimulcastEncoderAdapter* const adapter_; |
| 133 const size_t stream_idx_; | 133 const size_t stream_idx_; |
| 134 }; | 134 }; |
| 135 | 135 |
| 136 } // namespace | 136 } // namespace |
| 137 | 137 |
| 138 namespace webrtc { | 138 namespace webrtc { |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 // max_bitrate = std::min(codec_.maxBitrate, stream_bitrate); | 391 // max_bitrate = std::min(codec_.maxBitrate, stream_bitrate); |
| 392 // new_framerate = -1; | 392 // new_framerate = -1; |
| 393 } | 393 } |
| 394 | 394 |
| 395 streaminfos_[stream_idx].encoder->SetRates(stream_bitrate, new_framerate); | 395 streaminfos_[stream_idx].encoder->SetRates(stream_bitrate, new_framerate); |
| 396 } | 396 } |
| 397 | 397 |
| 398 return WEBRTC_VIDEO_CODEC_OK; | 398 return WEBRTC_VIDEO_CODEC_OK; |
| 399 } | 399 } |
| 400 | 400 |
| 401 int32_t SimulcastEncoderAdapter::Encoded( | 401 EncodedImageCallback::Result SimulcastEncoderAdapter::OnEncodedImage( |
| 402 size_t stream_idx, | 402 size_t stream_idx, |
| 403 const EncodedImage& encodedImage, | 403 const EncodedImage& encodedImage, |
| 404 const CodecSpecificInfo* codecSpecificInfo, | 404 const CodecSpecificInfo* codecSpecificInfo, |
| 405 const RTPFragmentationHeader* fragmentation) { | 405 const RTPFragmentationHeader* fragmentation) { |
| 406 CodecSpecificInfo stream_codec_specific = *codecSpecificInfo; | 406 CodecSpecificInfo stream_codec_specific = *codecSpecificInfo; |
| 407 CodecSpecificInfoVP8* vp8Info = &(stream_codec_specific.codecSpecific.VP8); | 407 CodecSpecificInfoVP8* vp8Info = &(stream_codec_specific.codecSpecific.VP8); |
| 408 vp8Info->simulcastIdx = stream_idx; | 408 vp8Info->simulcastIdx = stream_idx; |
| 409 | 409 |
| 410 return encoded_complete_callback_->Encoded( | 410 return encoded_complete_callback_->OnEncodedImage( |
| 411 encodedImage, &stream_codec_specific, fragmentation); | 411 encodedImage, &stream_codec_specific, fragmentation); |
| 412 } | 412 } |
| 413 | 413 |
| 414 uint32_t SimulcastEncoderAdapter::GetStreamBitrate( | 414 uint32_t SimulcastEncoderAdapter::GetStreamBitrate( |
| 415 int stream_idx, | 415 int stream_idx, |
| 416 size_t total_number_of_streams, | 416 size_t total_number_of_streams, |
| 417 uint32_t new_bitrate_kbit, | 417 uint32_t new_bitrate_kbit, |
| 418 bool* send_stream) const { | 418 bool* send_stream) const { |
| 419 if (total_number_of_streams == 1) { | 419 if (total_number_of_streams == 1) { |
| 420 *send_stream = true; | 420 *send_stream = true; |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 514 if (streaminfos_.size() != 1) | 514 if (streaminfos_.size() != 1) |
| 515 return false; | 515 return false; |
| 516 return streaminfos_[0].encoder->SupportsNativeHandle(); | 516 return streaminfos_[0].encoder->SupportsNativeHandle(); |
| 517 } | 517 } |
| 518 | 518 |
| 519 const char* SimulcastEncoderAdapter::ImplementationName() const { | 519 const char* SimulcastEncoderAdapter::ImplementationName() const { |
| 520 return implementation_name_.c_str(); | 520 return implementation_name_.c_str(); |
| 521 } | 521 } |
| 522 | 522 |
| 523 } // namespace webrtc | 523 } // namespace webrtc |
| OLD | NEW |