Index: webrtc/video/payload_router.cc |
diff --git a/webrtc/video/payload_router.cc b/webrtc/video/payload_router.cc |
index 798325a2602e09887f41cc37c64a5debe8fe6dbf..5bcf70532fe819fc338947ee65a85b71caed47f9 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,19 @@ 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( |
+ uint32_t frame_id; |
+ 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); |
+ encoded_image._length, fragmentation, &rtp_video_header, &frame_id); |
+ |
+ if (send_result < 0) |
+ return Result(Result::ERROR_SEND_FAILED); |
+ |
+ return Result(Result::OK, frame_id); |
} |
size_t PayloadRouter::MaxPayloadLength() const { |