• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
ModalAI Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
    • Register
    • Login

    Get camera Frame from libmodal pipe client

    Modal Pipe Architecture (MPA)
    2
    5
    685
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Philemon Benner
      last edited by 1 Apr 2022, 14:17

      Hey,
      i'm currently working on getting frames from libmodal pipe. I've looked up the examples of modal pipe, also had a look at voxl-streamer but didn't understood too much. Regarding too the struct of the pipe_client_set_camera_helper_cb in modal_pipe_client.h (l.322-355), is there any way to get the actual frame from that? I'm unfortunately not familiar with buffers and how they work. In voxl streamer the context is being used but in the header file only channel, metadata, and the frame beginning pointer? are being mentioned. Is the context the actual frame?

      1 Reply Last reply Reply Quote 0
      • S
        Steve Turner
        last edited by 1 Apr 2022, 15:36

        Check out https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-streamer/-/blob/master/src/main.c#L87 for an example of how to handle the callback.

        P 1 Reply Last reply 1 Apr 2022, 15:59 Reply Quote 0
        • P
          Philemon Benner @Steve Turner
          last edited by 1 Apr 2022, 15:59

          @Darkhive that's what i've mentioned above in the post. I don't have a clear understanding of how voxl-streamer camera_cb works and i don't want to use gstreamer to get the actual frame.

          1 Reply Last reply Reply Quote 0
          • P
            Philemon Benner
            last edited by 1 Apr 2022, 16:04

            Would something like that work?

            char* buffer[meta.size_bytes];
            memcpy(buffer, frame, meta.size_bytes);
            
            1 Reply Last reply Reply Quote 0
            • S
              Steve Turner
              last edited by 1 Apr 2022, 16:20

              https://gitlab.com/voxl-public/voxl-sdk/services/voxl-portal/-/blob/master/src/video_manager.cpp#L77

              Is an example of allocating a buffer and copying the frame into it. There are some other good examples in that file as well for processing frames and converting them to various formats within the callback. Hope that helps!

              1 Reply Last reply Reply Quote 1
              1 out of 5
              • First post
                1/5
                Last post
              Powered by NodeBB | Contributors