Chromium Code Reviews| Index: webrtc/video/vie_encoder.cc |
| diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc |
| index 24b8ce3cd1c4e392d2a0fef1ec8ffb8f00a4050b..f587765deaf506624b2e0cffa09fa2cb36511095 100644 |
| --- a/webrtc/video/vie_encoder.cc |
| +++ b/webrtc/video/vie_encoder.cc |
| @@ -427,6 +427,22 @@ int32_t ViEEncoder::SendData(const uint8_t payload_type, |
| encoded_image.capture_time_ms_, encoded_image._buffer, |
| encoded_image._length, fragmentation_header, rtp_video_hdr); |
| overuse_detector_->FrameSent(encoded_image._timeStamp); |
| + |
| + if (kEnableFrameRecording) { |
|
pbos-webrtc
2016/04/05 13:31:28
This isn't done on a known thread, for simulcast w
sprang_webrtc
2016/04/05 16:00:53
Ah. I'm assuming now that callbacks are at least n
|
| + int layer = rtp_video_hdr->simulcastIdx; |
| + if (file_writers_[layer] == nullptr) { |
| + uint64_t instance_id = reinterpret_cast<uint64_t>(this); |
| + std::ostringstream oss; |
| + oss << "bitstream_" << instance_id << "_" << layer << ".ivf"; |
| + file_writers_[layer] = |
| + IvfFileWriter::Open(oss.str().c_str(), rtp_video_hdr->codec); |
| + } |
| + if (file_writers_[layer].get() != nullptr) { |
| + bool ok = file_writers_[layer]->WriteFrame(encoded_image); |
| + RTC_DCHECK(ok); |
| + } |
| + } |
| + |
| return success ? 0 : -1; |
| } |