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 |