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

Side by Side Diff: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc

Issue 2089773002: Add EncodedImageCallback::OnEncodedImage(). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: sync Created 4 years, 5 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 /* 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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698