summaryrefslogtreecommitdiff
path: root/msm8996
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-07-01 01:38:42 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-07-01 01:38:42 +0000
commitcdd02ffa6711c59d64803e065132b46a537144a0 (patch)
treedfa8fa2c1aeb5797de61487d6a045aecf28a7ffd /msm8996
parent53801229e1ba91c204f0cfc11574a79c5a2bb582 (diff)
parentd128a260d9c67b376b05959ab50fb7174e30cd1d (diff)
downloadmedia-cdd02ffa6711c59d64803e065132b46a537144a0.tar.gz
Merge "mm-video-v4l2: venc: Change QBUF and STREAM_ON call sequence" into oc-dr1-dev
Diffstat (limited to 'msm8996')
-rw-r--r--msm8996/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/msm8996/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/msm8996/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index ed0ce88..03652aa 100644
--- a/msm8996/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/msm8996/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -3692,6 +3692,23 @@ bool venc_dev::venc_empty_buf(void *buffer, void *pmem_data_buf, unsigned index,
return false;
}
+ if (!streaming[OUTPUT_PORT]) {
+ enum v4l2_buf_type buf_type;
+ buf_type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
+ int ret;
+ ret = ioctl(m_nDriver_fd, VIDIOC_STREAMON, &buf_type);
+
+ if (ret) {
+ DEBUG_PRINT_ERROR("Failed to call streamon");
+ if (errno == EBUSY) {
+ hw_overload = true;
+ }
+ return false;
+ } else {
+ streaming[OUTPUT_PORT] = true;
+ }
+ }
+
buf.index = index;
buf.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
buf.memory = V4L2_MEMORY_USERPTR;
@@ -3714,22 +3731,6 @@ bool venc_dev::venc_empty_buf(void *buffer, void *pmem_data_buf, unsigned index,
etb++;
- if (!streaming[OUTPUT_PORT]) {
- enum v4l2_buf_type buf_type;
- buf_type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
- int ret;
- ret = ioctl(m_nDriver_fd, VIDIOC_STREAMON, &buf_type);
-
- if (ret) {
- DEBUG_PRINT_ERROR("Failed to call streamon");
- if (errno == EBUSY) {
- hw_overload = true;
- }
- return false;
- } else {
- streaming[OUTPUT_PORT] = true;
- }
- }
if (m_debug.in_buffer_log) {
venc_input_log_buffers(bufhdr, fd, plane[0].data_offset, m_sVenc_cfg.inputformat);
}