OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 | 316 |
317 #ifdef DEBUG_DECODER_BIT_STREAM | 317 #ifdef DEBUG_DECODER_BIT_STREAM |
318 if (_bitStreamBeforeDecoder != NULL) { | 318 if (_bitStreamBeforeDecoder != NULL) { |
319 // Write bit stream to file for debugging purposes | 319 // Write bit stream to file for debugging purposes |
320 if (fwrite(frame->Buffer(), 1, frame->Length(), _bitStreamBeforeDecoder) != | 320 if (fwrite(frame->Buffer(), 1, frame->Length(), _bitStreamBeforeDecoder) != |
321 frame->Length()) { | 321 frame->Length()) { |
322 return -1; | 322 return -1; |
323 } | 323 } |
324 } | 324 } |
325 #endif | 325 #endif |
| 326 |
| 327 if (first_frame_received_()) { |
| 328 LOG(LS_INFO) << "Received first " |
| 329 << (frame->Complete() ? "complete" : "incomplete") |
| 330 << " decodable video frame"; |
| 331 } |
| 332 |
326 const int32_t ret = Decode(*frame); | 333 const int32_t ret = Decode(*frame); |
327 _receiver.ReleaseFrame(frame); | 334 _receiver.ReleaseFrame(frame); |
328 return ret; | 335 return ret; |
329 } | 336 } |
330 | 337 |
331 int32_t VideoReceiver::RequestSliceLossIndication( | 338 int32_t VideoReceiver::RequestSliceLossIndication( |
332 const uint64_t pictureID) const { | 339 const uint64_t pictureID) const { |
333 TRACE_EVENT1("webrtc", "RequestSLI", "picture_id", pictureID); | 340 TRACE_EVENT1("webrtc", "RequestSLI", "picture_id", pictureID); |
334 CriticalSectionScoped cs(process_crit_sect_.get()); | 341 CriticalSectionScoped cs(process_crit_sect_.get()); |
335 if (_frameTypeCallback != NULL) { | 342 if (_frameTypeCallback != NULL) { |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 } | 547 } |
541 | 548 |
542 void VideoReceiver::RegisterPreDecodeImageCallback( | 549 void VideoReceiver::RegisterPreDecodeImageCallback( |
543 EncodedImageCallback* observer) { | 550 EncodedImageCallback* observer) { |
544 CriticalSectionScoped cs(_receiveCritSect); | 551 CriticalSectionScoped cs(_receiveCritSect); |
545 pre_decode_image_callback_ = observer; | 552 pre_decode_image_callback_ = observer; |
546 } | 553 } |
547 | 554 |
548 } // namespace vcm | 555 } // namespace vcm |
549 } // namespace webrtc | 556 } // namespace webrtc |
OLD | NEW |