Chromium Code Reviews| Index: webrtc/video/payload_router.cc |
| diff --git a/webrtc/video/payload_router.cc b/webrtc/video/payload_router.cc |
| index 21439022c1dc3b69a91c981e63dcd42357def8ca..47ff175f2f7bc346fba2c09a89ada0673a7e6247 100644 |
| --- a/webrtc/video/payload_router.cc |
| +++ b/webrtc/video/payload_router.cc |
| @@ -137,15 +137,16 @@ void PayloadRouter::UpdateModuleSendingState() { |
| } |
| } |
| -int32_t PayloadRouter::Encoded(const EncodedImage& encoded_image, |
| - const CodecSpecificInfo* codec_specific_info, |
| - const RTPFragmentationHeader* fragmentation) { |
| +EncodedImageCallback::Result PayloadRouter::OnEncodedImage( |
| + const EncodedImage& encoded_image, |
| + const CodecSpecificInfo* codec_specific_info, |
| + const RTPFragmentationHeader* fragmentation) { |
| rtc::CritScope lock(&crit_); |
| RTC_DCHECK(!rtp_modules_.empty()); |
| if (!active_ || num_sending_modules_ == 0) |
| - return -1; |
| + return Result(Result::ERROR_SEND_FAILED); |
| - int stream_idx = 0; |
| + int stream_index = 0; |
| RTPVideoHeader rtp_video_header; |
| memset(&rtp_video_header, 0, sizeof(RTPVideoHeader)); |
| @@ -158,13 +159,20 @@ int32_t PayloadRouter::Encoded(const EncodedImage& encoded_image, |
| // The simulcast index might actually be larger than the number of modules |
| // in case the encoder was processing a frame during a codec reconfig. |
| if (rtp_video_header.simulcastIdx >= num_sending_modules_) |
| - return -1; |
| - stream_idx = rtp_video_header.simulcastIdx; |
| + return Result(Result::ERROR_SEND_FAILED); |
| + stream_index = rtp_video_header.simulcastIdx; |
| - return rtp_modules_[stream_idx]->SendOutgoingData( |
| - encoded_image._frameType, payload_type_, encoded_image._timeStamp, |
| - encoded_image.capture_time_ms_, encoded_image._buffer, |
| - encoded_image._length, fragmentation, &rtp_video_header); |
| + int send_result = rtp_modules_[stream_index]->SendOutgoingData( |
| + encoded_image._frameType, payload_type_, encoded_image._timeStamp, |
| + encoded_image.capture_time_ms_, encoded_image._buffer, |
| + encoded_image._length, fragmentation, &rtp_video_header); |
| + |
| + if (send_result < 0) |
| + return Result(Result::ERROR_SEND_FAILED); |
| + |
| + uint32_t frame_id = |
| + rtp_modules_[stream_index]->StartTimestamp() + encoded_image._timeStamp; |
|
stefan-webrtc
2016/07/18 16:51:27
Would it make sense to instead have SendOutgoingDa
Sergey Ulanov
2016/07/21 00:09:39
Yes, but RtpRtcp::SendOutgoingData() is used in bu
stefan-webrtc
2016/07/25 15:19:33
Missed this comment, sorry.
I would prefer to add
Sergey Ulanov
2016/07/26 19:19:53
Done
|
| + return Result(Result::OK, frame_id); |
| } |
| void PayloadRouter::SetTargetSendBitrate(uint32_t bitrate_bps) { |