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 EncodedImageCallback::Result OnEncodedImage( | 123 int32_t Encoded( |
124 const webrtc::EncodedImage& encoded_image, | 124 const webrtc::EncodedImage& encodedImage, |
125 const webrtc::CodecSpecificInfo* codec_specific_info, | 125 const webrtc::CodecSpecificInfo* codecSpecificInfo = NULL, |
126 const webrtc::RTPFragmentationHeader* fragmentation) override { | 126 const webrtc::RTPFragmentationHeader* fragmentation = NULL) override { |
127 return adapter_->OnEncodedImage(stream_idx_, encoded_image, | 127 return adapter_->Encoded(stream_idx_, encodedImage, codecSpecificInfo, |
128 codec_specific_info, fragmentation); | 128 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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 // max_bitrate = std::min(codec_.maxBitrate, stream_bitrate); | 397 // max_bitrate = std::min(codec_.maxBitrate, stream_bitrate); |
398 // new_framerate = -1; | 398 // new_framerate = -1; |
399 } | 399 } |
400 | 400 |
401 streaminfos_[stream_idx].encoder->SetRates(stream_bitrate, new_framerate); | 401 streaminfos_[stream_idx].encoder->SetRates(stream_bitrate, new_framerate); |
402 } | 402 } |
403 | 403 |
404 return WEBRTC_VIDEO_CODEC_OK; | 404 return WEBRTC_VIDEO_CODEC_OK; |
405 } | 405 } |
406 | 406 |
407 EncodedImageCallback::Result SimulcastEncoderAdapter::OnEncodedImage( | 407 int32_t SimulcastEncoderAdapter::Encoded( |
408 size_t stream_idx, | 408 size_t stream_idx, |
409 const EncodedImage& encodedImage, | 409 const EncodedImage& encodedImage, |
410 const CodecSpecificInfo* codecSpecificInfo, | 410 const CodecSpecificInfo* codecSpecificInfo, |
411 const RTPFragmentationHeader* fragmentation) { | 411 const RTPFragmentationHeader* fragmentation) { |
412 CodecSpecificInfo stream_codec_specific = *codecSpecificInfo; | 412 CodecSpecificInfo stream_codec_specific = *codecSpecificInfo; |
413 CodecSpecificInfoVP8* vp8Info = &(stream_codec_specific.codecSpecific.VP8); | 413 CodecSpecificInfoVP8* vp8Info = &(stream_codec_specific.codecSpecific.VP8); |
414 vp8Info->simulcastIdx = stream_idx; | 414 vp8Info->simulcastIdx = stream_idx; |
415 | 415 |
416 return encoded_complete_callback_->OnEncodedImage( | 416 return encoded_complete_callback_->Encoded( |
417 encodedImage, &stream_codec_specific, fragmentation); | 417 encodedImage, &stream_codec_specific, fragmentation); |
418 } | 418 } |
419 | 419 |
420 uint32_t SimulcastEncoderAdapter::GetStreamBitrate( | 420 uint32_t SimulcastEncoderAdapter::GetStreamBitrate( |
421 int stream_idx, | 421 int stream_idx, |
422 size_t total_number_of_streams, | 422 size_t total_number_of_streams, |
423 uint32_t new_bitrate_kbit, | 423 uint32_t new_bitrate_kbit, |
424 bool* send_stream) const { | 424 bool* send_stream) const { |
425 if (total_number_of_streams == 1) { | 425 if (total_number_of_streams == 1) { |
426 *send_stream = true; | 426 *send_stream = true; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 return false; | 521 return false; |
522 } | 522 } |
523 return true; | 523 return true; |
524 } | 524 } |
525 | 525 |
526 const char* SimulcastEncoderAdapter::ImplementationName() const { | 526 const char* SimulcastEncoderAdapter::ImplementationName() const { |
527 return implementation_name_.c_str(); | 527 return implementation_name_.c_str(); |
528 } | 528 } |
529 | 529 |
530 } // namespace webrtc | 530 } // namespace webrtc |
OLD | NEW |