OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <dlfcn.h> | 5 #include <dlfcn.h> |
6 #include <errno.h> | 6 #include <errno.h> |
7 #include <fcntl.h> | 7 #include <fcntl.h> |
8 #include <linux/videodev2.h> | 8 #include <linux/videodev2.h> |
9 #include <poll.h> | 9 #include <poll.h> |
10 #include <sys/eventfd.h> | 10 #include <sys/eventfd.h> |
(...skipping 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1071 output_record.at_device = false; | 1071 output_record.at_device = false; |
1072 if (dqbuf.m.planes[0].bytesused == 0) { | 1072 if (dqbuf.m.planes[0].bytesused == 0) { |
1073 // This is an empty output buffer returned as part of a flush. | 1073 // This is an empty output buffer returned as part of a flush. |
1074 free_output_buffers_.push(dqbuf.index); | 1074 free_output_buffers_.push(dqbuf.index); |
1075 } else { | 1075 } else { |
1076 DCHECK_GE(dqbuf.timestamp.tv_sec, 0); | 1076 DCHECK_GE(dqbuf.timestamp.tv_sec, 0); |
1077 output_record.at_client = true; | 1077 output_record.at_client = true; |
1078 DVLOG(3) << "Dequeue(): returning input_id=" << dqbuf.timestamp.tv_sec | 1078 DVLOG(3) << "Dequeue(): returning input_id=" << dqbuf.timestamp.tv_sec |
1079 << " as picture_id=" << output_record.picture_id; | 1079 << " as picture_id=" << output_record.picture_id; |
1080 const media::Picture& picture = | 1080 const media::Picture& picture = |
1081 media::Picture(output_record.picture_id, | 1081 media::Picture(output_record.picture_id, dqbuf.timestamp.tv_sec, |
1082 dqbuf.timestamp.tv_sec, | 1082 gfx::Rect(frame_buffer_size_), false); |
1083 gfx::Rect(frame_buffer_size_)); | |
1084 pending_picture_ready_.push( | 1083 pending_picture_ready_.push( |
1085 PictureRecord(output_record.cleared, picture)); | 1084 PictureRecord(output_record.cleared, picture)); |
1086 SendPictureReady(); | 1085 SendPictureReady(); |
1087 output_record.cleared = true; | 1086 output_record.cleared = true; |
1088 decoder_frames_at_client_++; | 1087 decoder_frames_at_client_++; |
1089 } | 1088 } |
1090 output_buffer_queued_count_--; | 1089 output_buffer_queued_count_--; |
1091 } | 1090 } |
1092 | 1091 |
1093 NotifyFlushDoneIfNeeded(); | 1092 NotifyFlushDoneIfNeeded(); |
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1969 gfx::Size new_size(base::checked_cast<int>(format.fmt.pix_mp.width), | 1968 gfx::Size new_size(base::checked_cast<int>(format.fmt.pix_mp.width), |
1970 base::checked_cast<int>(format.fmt.pix_mp.height)); | 1969 base::checked_cast<int>(format.fmt.pix_mp.height)); |
1971 if (frame_buffer_size_ != new_size) { | 1970 if (frame_buffer_size_ != new_size) { |
1972 DVLOG(3) << "IsResolutionChangeNecessary(): Resolution change detected"; | 1971 DVLOG(3) << "IsResolutionChangeNecessary(): Resolution change detected"; |
1973 return true; | 1972 return true; |
1974 } | 1973 } |
1975 return false; | 1974 return false; |
1976 } | 1975 } |
1977 | 1976 |
1978 } // namespace content | 1977 } // namespace content |
OLD | NEW |