blob: c379ef55e872a0824e61ecfff8602109e6ae06fb [file] [log] [blame]
Marie White5096c652017-08-08 22:23:45 -07001#include "include/dvr/dvr_pose.h"
2
3#include <memory>
4
5#include <private/dvr/buffer_hub_queue_client.h>
6#include <private/dvr/pose_client_internal.h>
7
8#include "dvr_buffer_queue_internal.h"
9
10using android::dvr::ConsumerQueue;
11
Marie White45516aa2017-09-07 16:12:13 -070012int dvrPoseClientGetDataReader(DvrPoseClient* client, uint64_t data_type,
Marie White5096c652017-08-08 22:23:45 -070013 DvrReadBufferQueue** queue_out) {
14 if (!client || !queue_out)
15 return -EINVAL;
16
17 ConsumerQueue* consumer_queue;
18 int status = android::dvr::dvrPoseClientGetDataReaderHandle(client,
19 data_type,
20 &consumer_queue);
21 if (status != 0) {
22 ALOGE("dvrPoseClientGetDataReader: Failed to get queue: %d", status);
23 return status;
24 }
25
26 std::shared_ptr<ConsumerQueue> consumer_queue_ptr{consumer_queue};
27 *queue_out = new DvrReadBufferQueue(consumer_queue_ptr);
28 return 0;
29}