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

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: . Created 4 years, 4 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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 int32_t SimulcastEncoderAdapter::Encoded( 407 EncodedImageCallback::Result SimulcastEncoderAdapter::OnEncodedImage(
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_->Encoded( 416 return encoded_complete_callback_->OnEncodedImage(
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698