mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2026-07-05 19:15:42 +00:00
add and update
This commit is contained in:
parent
03ed2886cb
commit
bda4d33012
109 changed files with 73065 additions and 85 deletions
100
RTL00_SDKV35a/component/common/network/rtsp/src2rtsp.h
Normal file
100
RTL00_SDKV35a/component/common/network/rtsp/src2rtsp.h
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#ifndef _SRC2RTSP_H_
|
||||
#define _SRC2RTSP_H_
|
||||
|
||||
/* Add by Ian -- This file contains parts used for rtsp to access lower layer stream src information*/
|
||||
|
||||
#include "dlist.h"
|
||||
#include "basic_types.h"
|
||||
#include "osdep_service.h"
|
||||
//#include "osdep_api.h"
|
||||
#include "rtsp/rtp_api.h"
|
||||
#include "avcodec.h"
|
||||
|
||||
#define SRC_FROM_UVC
|
||||
//#define SRC_FROM_UAC
|
||||
//#define SRC_FROM_SPI
|
||||
#define SRC_FROM_I2S
|
||||
#define SRC_FROM_STA
|
||||
|
||||
#define SRC_TYPE_NUL 0
|
||||
#define SRC_TYPE_UVC 1
|
||||
#define SRC_TYPE_SPI 2
|
||||
#define SRC_TYPE_UAC 3
|
||||
#define SRC_TYPE_I2S 4
|
||||
#define SRC_TYPE_STA 7
|
||||
|
||||
struct FormatInfo
|
||||
{
|
||||
struct codec_info codec;
|
||||
u8 framerate;
|
||||
u32 bitrate;
|
||||
u32 height;
|
||||
u32 width;
|
||||
};
|
||||
|
||||
struct stream_flow
|
||||
{
|
||||
int id;
|
||||
void *prot_hook; //transport protocol hook
|
||||
void *src;
|
||||
int src_type;
|
||||
struct FormatInfo currentFormatInfo;
|
||||
int (*src_handler) (void *src, struct rtp_object *payload);
|
||||
struct list_head input_queue;
|
||||
_mutex input_lock;
|
||||
struct list_head output_queue;
|
||||
_mutex output_lock;
|
||||
u8 is_src2rtsp_init;
|
||||
u8 is_src2rtsp_start;
|
||||
_sema start_src2rtsp_sema;
|
||||
struct stream_flow *next;
|
||||
};
|
||||
|
||||
|
||||
#ifdef SRC_FROM_UVC
|
||||
#include "v4l2_intf.h"
|
||||
struct uvc_streaming;
|
||||
struct uvcManager
|
||||
{
|
||||
struct uvc_streaming *stream;
|
||||
streaming_state state;
|
||||
struct FormatInfo currentFormatInfo;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef SRC_FROM_SPI
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef SRC_FROM_UAC
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef SRC_FROM_I2S
|
||||
struct i2sManager{
|
||||
struct FormatInfo currentFormatInfo;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef SRC_FROM_STA
|
||||
struct rtsp_static_source_manager
|
||||
{
|
||||
struct FormatInfo currentFormatInfo;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct stream_flow* rtsp_stream_flow_create(void);
|
||||
void rtsp_stream_flow_free(struct stream_flow *stream);
|
||||
void rtsp_register_src_handler(struct stream_flow *stream, int (*src_handler) (void *stream_src, struct rtp_object *payload));
|
||||
int rtsp_get_src_currentFormatInfo(struct stream_flow *stream);
|
||||
int rtsp_set_src_FormatInfo(struct stream_flow *stream, int codec_id, u8 framerate, u32 height, u32 width, u32 bitrate);
|
||||
extern int rtsp_set_src_extra(struct stream_flow, void *param);
|
||||
int rtsp_stream_flow_set(struct stream_flow *stream, void *source, int src_type);
|
||||
int rtsp_stream_flow_update(struct stream_flow *stream);
|
||||
int rtsp_stream_flow_concat(struct stream_flow *stream, struct stream_flow *stream_next);
|
||||
void rtp_object_in_src_queue(struct rtp_object *payload, struct stream_flow *stream);
|
||||
struct rtp_object *rtp_object_out_src_queue(struct stream_flow *stream);
|
||||
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue