msgba/include/msgba/packet/send_frame.h

44 lines
1.2 KiB
C

#ifndef MS_PACKET_SEND_HELLO
#define MS_PACKET_SEND_HELLO
#include <msgba/core_controller.h>
#include <stddef.h>
struct msPacket;
/**
* Structure representing a video frame packet.
* The combination of these packets allow the video to be seen in the client.
*/
struct msPacketSendFrame {
//! The width
unsigned int stride;
//! The full size of the buffer.
size_t outputBufferSize;
//! The rgbx buffer.
color_t *outputBuffer;
};
/**
* Ends the life in memory of the send_frame packet.
* @param send_frame A reference to a pointer to a send_frame packet.
*/
void
msPacketSendFrameDestroy(struct msPacketSendFrame **send_frame);
/**
* Creates a new send_frame packet.
* @param stride The witdh
* @param outputBufferSize The size of the outputBuffer
* @param outputBuffer The rgbx array.
*/
struct msPacketSendFrame *
msPacketSendFrameNew(unsigned int stride, size_t outputBufferSize, color_t *const outputBuffer);
/**
* Converts the struct to a byte array with size len.
* @param send_frame The object
* @param len The returned byte array size.
*/
unsigned char *
msPacketSendFrameSerialize(struct msPacketSendFrame *const send_frame, size_t *len);
#endif