{"action":"created","comment":{"url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/comments/154394698","pull_request_review_id":80556441,"id":154394698,"diff_hunk":"@@ -274,6 +278,49 @@ class LIBFREENECT2_API Freenect2\n   Freenect2& operator=(const Freenect2&);\n };\n \n+class LIBFREENECT2_API Freenect2ReplayDevice: public Freenect2Device\n+{\n+public:\n+  Freenect2ReplayDevice(char* directory, PacketPipeline* pipeline);\n+ \n+  virtual std::string getSerialNumber();\n+  virtual std::string getFirmwareVersion();\n+\n+  virtual ColorCameraParams getColorCameraParams();\n+  virtual IrCameraParams getIrCameraParams();\n+\n+  virtual void setColorCameraParams(const ColorCameraParams &params);\n+  virtual void setIrCameraParams(const IrCameraParams &params);\n+\n+  void setColorFrameListener(FrameListener* listener);\n+  void setIrAndDepthFrameListener(FrameListener* listener);\n+\n+  virtual void setConfiguration(const Config &config);\n+  \n+  void loadP0Tables(unsigned char* buffer, size_t buffer_length);\n+  void loadXZTables(const float *xtable, const float *ztable);\n+  void loadLookupTable(const short *lut);\n+\n+  bool processRawFrame(Frame::Type type, Frame* frame);  \n+\n+  virtual bool start();\n+  virtual bool startStreams(bool rgb, bool depth);\n+  virtual bool stop();\n+  virtual bool run();\n+\n+protected:\n+  void processRgbFrame(Frame* frame);\n+  void processDepthFrame(Frame* frame);\n+\n+private:\n+  PacketPipeline* pipeline_;\n+  char* directory_;\n+  tthread::thread* t_;","path":"include/libfreenect2/libfreenect2.hpp","position":52,"original_position":52,"commit_id":"8ee4f088823bf3e17664b792209bb794aa872781","original_commit_id":"8ee4f088823bf3e17664b792209bb794aa872781","user":{"login":"xlz","id":1385542,"avatar_url":"https://avatars1.githubusercontent.com/u/1385542?v=4","gravatar_id":"","url":"https://api.github.com/users/xlz","html_url":"https://github.com/xlz","followers_url":"https://api.github.com/users/xlz/followers","following_url":"https://api.github.com/users/xlz/following{/other_user}","gists_url":"https://api.github.com/users/xlz/gists{/gist_id}","starred_url":"https://api.github.com/users/xlz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xlz/subscriptions","organizations_url":"https://api.github.com/users/xlz/orgs","repos_url":"https://api.github.com/users/xlz/repos","events_url":"https://api.github.com/users/xlz/events{/privacy}","received_events_url":"https://api.github.com/users/xlz/received_events","type":"User","site_admin":false},"body":"Freenect2::Freenect2(NULL) means \"managed USB context\" which automatically creates it. Non-NULL is using an external USB context. You can picture `Freenect2` as `Freenect2USB` in your mind but we won't rename it though.","created_at":"2017-12-01T16:56:04Z","updated_at":"2017-12-01T16:56:04Z","html_url":"https://github.com/OpenKinect/libfreenect2/pull/937#discussion_r154394698","pull_request_url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/comments/154394698"},"html":{"href":"https://github.com/OpenKinect/libfreenect2/pull/937#discussion_r154394698"},"pull_request":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937"}},"in_reply_to_id":153394641},"pull_request":{"url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937","id":154919013,"html_url":"https://github.com/OpenKinect/libfreenect2/pull/937","diff_url":"https://github.com/OpenKinect/libfreenect2/pull/937.diff","patch_url":"https://github.com/OpenKinect/libfreenect2/pull/937.patch","issue_url":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/937","number":937,"state":"open","locked":false,"title":"Freenect2ReplayDevice: API aligned with Freenect2Device","user":{"login":"smokhov","id":10067003,"avatar_url":"https://avatars0.githubusercontent.com/u/10067003?v=4","gravatar_id":"","url":"https://api.github.com/users/smokhov","html_url":"https://github.com/smokhov","followers_url":"https://api.github.com/users/smokhov/followers","following_url":"https://api.github.com/users/smokhov/following{/other_user}","gists_url":"https://api.github.com/users/smokhov/gists{/gist_id}","starred_url":"https://api.github.com/users/smokhov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smokhov/subscriptions","organizations_url":"https://api.github.com/users/smokhov/orgs","repos_url":"https://api.github.com/users/smokhov/repos","events_url":"https://api.github.com/users/smokhov/events{/privacy}","received_events_url":"https://api.github.com/users/smokhov/received_events","type":"User","site_admin":false},"body":"This PR addresses most of the issues of PR #555. However, I chose to split the work of portable `dirent`/`opendir` and RGB processing into separate PRs and in coordination with #602. Please review and comment, should cleanly apply to the current master. This is based off @brendandburns's original implementation. Supersedes #555.","created_at":"2017-11-27T21:19:09Z","updated_at":"2017-12-01T16:56:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1889c788db8a39f1fcf2d96e12f798b82b2969af","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937/commits","review_comments_url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937/comments","review_comment_url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/937/comments","statuses_url":"https://api.github.com/repos/OpenKinect/libfreenect2/statuses/8ee4f088823bf3e17664b792209bb794aa872781","head":{"label":"OpenISS:replay-dev","ref":"replay-dev","sha":"8ee4f088823bf3e17664b792209bb794aa872781","user":{"login":"OpenISS","id":19520145,"avatar_url":"https://avatars2.githubusercontent.com/u/19520145?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenISS","html_url":"https://github.com/OpenISS","followers_url":"https://api.github.com/users/OpenISS/followers","following_url":"https://api.github.com/users/OpenISS/following{/other_user}","gists_url":"https://api.github.com/users/OpenISS/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenISS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenISS/subscriptions","organizations_url":"https://api.github.com/users/OpenISS/orgs","repos_url":"https://api.github.com/users/OpenISS/repos","events_url":"https://api.github.com/users/OpenISS/events{/privacy}","received_events_url":"https://api.github.com/users/OpenISS/received_events","type":"Organization","site_admin":false},"repo":{"id":108410011,"name":"libfreenect2-frame-driver","full_name":"OpenISS/libfreenect2-frame-driver","owner":{"login":"OpenISS","id":19520145,"avatar_url":"https://avatars2.githubusercontent.com/u/19520145?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenISS","html_url":"https://github.com/OpenISS","followers_url":"https://api.github.com/users/OpenISS/followers","following_url":"https://api.github.com/users/OpenISS/following{/other_user}","gists_url":"https://api.github.com/users/OpenISS/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenISS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenISS/subscriptions","organizations_url":"https://api.github.com/users/OpenISS/orgs","repos_url":"https://api.github.com/users/OpenISS/repos","events_url":"https://api.github.com/users/OpenISS/events{/privacy}","received_events_url":"https://api.github.com/users/OpenISS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenISS/libfreenect2-frame-driver","description":"Open source drivers for the Kinect for Windows v2 device","fork":true,"url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver","forks_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/forks","keys_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/teams","hooks_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/hooks","issue_events_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/issues/events{/number}","events_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/events","assignees_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/assignees{/user}","branches_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/branches{/branch}","tags_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/tags","blobs_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/languages","stargazers_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/stargazers","contributors_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/contributors","subscribers_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/subscribers","subscription_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/subscription","commits_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/contents/{+path}","compare_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/merges","archive_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/downloads","issues_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/issues{/number}","pulls_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/labels{/name}","releases_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/releases{/id}","deployments_url":"https://api.github.com/repos/OpenISS/libfreenect2-frame-driver/deployments","created_at":"2017-10-26T12:42:44Z","updated_at":"2017-10-26T12:43:07Z","pushed_at":"2017-11-27T20:35:41Z","git_url":"git://github.com/OpenISS/libfreenect2-frame-driver.git","ssh_url":"git@github.com:OpenISS/libfreenect2-frame-driver.git","clone_url":"https://github.com/OpenISS/libfreenect2-frame-driver.git","svn_url":"https://github.com/OpenISS/libfreenect2-frame-driver","homepage":null,"size":3117,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"OpenKinect:master","ref":"master","sha":"221a58d1415198b3ce7d231b28a5673e99060476","user":{"login":"OpenKinect","id":478332,"avatar_url":"https://avatars2.githubusercontent.com/u/478332?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenKinect","html_url":"https://github.com/OpenKinect","followers_url":"https://api.github.com/users/OpenKinect/followers","following_url":"https://api.github.com/users/OpenKinect/following{/other_user}","gists_url":"https://api.github.com/users/OpenKinect/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenKinect/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenKinect/subscriptions","organizations_url":"https://api.github.com/users/OpenKinect/orgs","repos_url":"https://api.github.com/users/OpenKinect/repos","events_url":"https://api.github.com/users/OpenKinect/events{/privacy}","received_events_url":"https://api.github.com/users/OpenKinect/received_events","type":"Organization","site_admin":false},"repo":{"id":14847048,"name":"libfreenect2","full_name":"OpenKinect/libfreenect2","owner":{"login":"OpenKinect","id":478332,"avatar_url":"https://avatars2.githubusercontent.com/u/478332?v=4","gravatar_id":"","url":"https://api.github.com/users/OpenKinect","html_url":"https://github.com/OpenKinect","followers_url":"https://api.github.com/users/OpenKinect/followers","following_url":"https://api.github.com/users/OpenKinect/following{/other_user}","gists_url":"https://api.github.com/users/OpenKinect/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenKinect/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenKinect/subscriptions","organizations_url":"https://api.github.com/users/OpenKinect/orgs","repos_url":"https://api.github.com/users/OpenKinect/repos","events_url":"https://api.github.com/users/OpenKinect/events{/privacy}","received_events_url":"https://api.github.com/users/OpenKinect/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenKinect/libfreenect2","description":"Open source drivers for the Kinect for Windows v2 device","fork":false,"url":"https://api.github.com/repos/OpenKinect/libfreenect2","forks_url":"https://api.github.com/repos/OpenKinect/libfreenect2/forks","keys_url":"https://api.github.com/repos/OpenKinect/libfreenect2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenKinect/libfreenect2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenKinect/libfreenect2/teams","hooks_url":"https://api.github.com/repos/OpenKinect/libfreenect2/hooks","issue_events_url":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/events{/number}","events_url":"https://api.github.com/repos/OpenKinect/libfreenect2/events","assignees_url":"https://api.github.com/repos/OpenKinect/libfreenect2/assignees{/user}","branches_url":"https://api.github.com/repos/OpenKinect/libfreenect2/branches{/branch}","tags_url":"https://api.github.com/repos/OpenKinect/libfreenect2/tags","blobs_url":"https://api.github.com/repos/OpenKinect/libfreenect2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenKinect/libfreenect2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenKinect/libfreenect2/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenKinect/libfreenect2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenKinect/libfreenect2/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenKinect/libfreenect2/languages","stargazers_url":"https://api.github.com/repos/OpenKinect/libfreenect2/stargazers","contributors_url":"https://api.github.com/repos/OpenKinect/libfreenect2/contributors","subscribers_url":"https://api.github.com/repos/OpenKinect/libfreenect2/subscribers","subscription_url":"https://api.github.com/repos/OpenKinect/libfreenect2/subscription","commits_url":"https://api.github.com/repos/OpenKinect/libfreenect2/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenKinect/libfreenect2/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenKinect/libfreenect2/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenKinect/libfreenect2/contents/{+path}","compare_url":"https://api.github.com/repos/OpenKinect/libfreenect2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenKinect/libfreenect2/merges","archive_url":"https://api.github.com/repos/OpenKinect/libfreenect2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenKinect/libfreenect2/downloads","issues_url":"https://api.github.com/repos/OpenKinect/libfreenect2/issues{/number}","pulls_url":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenKinect/libfreenect2/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenKinect/libfreenect2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenKinect/libfreenect2/labels{/name}","releases_url":"https://api.github.com/repos/OpenKinect/libfreenect2/releases{/id}","deployments_url":"https://api.github.com/repos/OpenKinect/libfreenect2/deployments","created_at":"2013-12-01T21:59:22Z","updated_at":"2017-11-30T02:45:01Z","pushed_at":"2017-12-01T06:08:28Z","git_url":"git://github.com/OpenKinect/libfreenect2.git","ssh_url":"git@github.com:OpenKinect/libfreenect2.git","clone_url":"https://github.com/OpenKinect/libfreenect2.git","svn_url":"https://github.com/OpenKinect/libfreenect2","homepage":null,"size":3193,"stargazers_count":1006,"watchers_count":1006,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":461,"mirror_url":null,"archived":false,"open_issues_count":56,"license":null,"forks":461,"open_issues":56,"watchers":1006,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937"},"html":{"href":"https://github.com/OpenKinect/libfreenect2/pull/937"},"issue":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/937"},"comments":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/issues/937/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/pulls/937/commits"},"statuses":{"href":"https://api.github.com/repos/OpenKinect/libfreenect2/statuses/8ee4f088823bf3e17664b792209bb794aa872781"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"xlz"}}