Initial commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#ifndef RTSP_CLIENT_H
|
||||
#define RTSP_CLIENT_H
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
|
||||
namespace rtsp_client {
|
||||
|
||||
static constexpr int RTSP_DEFAULT_PORT = 554;
|
||||
static constexpr int RTP_BUFFER_SIZE = 65536;
|
||||
static constexpr int MAX_URL_LEN = 512;
|
||||
|
||||
struct RtspState {
|
||||
std::string url;
|
||||
std::string host;
|
||||
int port;
|
||||
std::string path;
|
||||
|
||||
int rtsp_fd;
|
||||
int rtp_fd;
|
||||
int rtcp_fd;
|
||||
int local_rtp_port;
|
||||
int local_rtcp_port;
|
||||
|
||||
std::string session_id;
|
||||
std::string control_url;
|
||||
std::string video_track_url;
|
||||
|
||||
bool connected;
|
||||
bool running;
|
||||
bool playing;
|
||||
|
||||
pthread_t receiver_thread;
|
||||
|
||||
int shmem_fd;
|
||||
uint8_t* shmem_base;
|
||||
size_t shmem_size;
|
||||
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
|
||||
uint32_t frame_count;
|
||||
uint64_t bytes_received;
|
||||
};
|
||||
|
||||
int init_rtsp(const char* url);
|
||||
int connect_rtsp();
|
||||
int play_rtsp();
|
||||
void stop_rtsp();
|
||||
void release_rtsp();
|
||||
bool is_rtsp_connected();
|
||||
int get_rtsp_shmem_fd();
|
||||
int get_rtsp_width();
|
||||
int get_rtsp_height();
|
||||
|
||||
} // namespace rtsp_client
|
||||
|
||||
#endif // RTSP_CLIENT_H
|
||||
Reference in New Issue
Block a user