multimedia/device/librtsp.h

44 lines
948 B
C

//
// Created by 29019 on 2019/9/11.
//
#ifndef LIBRTSP_C_LIBRTSP_H
#define LIBRTSP_C_LIBRTSP_H
#include "sock.h"
#include "thirdparty/map/src/map.h"
#include "stdio.h"
#include "list.h"
typedef struct _T_Param{
char key[50];
char value[140];
struct list_head p;
}Params;
typedef struct _T_RtspClientCtx{
char hostIp[30];
int port;
char despcrtion[50];
Sock sock;
int cesq;
boolean conn;
}RtspClient;
// callback function that receive data.
typedef int (*CallBack)(RtspClient *client,const char * data,int len);
typedef enum _E_Method{
OPTIONS = 0,
POST,
ANNOUNCE,
SETUP,
RECORD
}Method;
RtspClient *ConectRtsp(char *ip,int port,char *desc);
int GenPayload(Method method,char *data);
int SendOption(RtspClient*p,CallBack *c);
int SendSetup(RtspClient *p,CallBack *c);
int SendRecord(RtspClient *p,CallBack *c);
int SendAnnounce(RtspClient *p,CallBack);
#endif //LIBRTSP_C_LIBRTSP_H