⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stheader.h

📁 自己移植的linux下的流媒体播放器原代码,支持mms协议,支持ftp和http协议.
💻 H
字号:
#ifndef __ST_HEADER_H#define __ST_HEADER_H 1#include "aviheader.h"#include "ms_hdr.h"// Stream headers:typedef struct {  demux_stream_t *ds;  struct codecs_st *codec;  unsigned int format;  int inited;  float delay;	   // relative (to sh_video->timer) time in audio stream  // output format:  int sample_format;  int samplerate;  int samplesize;  int channels;  int o_bps; // == samplerate*samplesize*channels   (uncompr. bytes/sec)  int i_bps; // == bitrate  (compressed bytes/sec)  // in buffers:  int audio_in_minsize;	// max. compressed packet size (== min. in buffer size)  char* a_in_buffer;  int a_in_buffer_len;  int a_in_buffer_size;  // decoder buffers:  int audio_out_minsize; // max. uncompressed packet size (==min. out buffsize)  char* a_buffer;  int a_buffer_len;  int a_buffer_size;  // output buffers:  char* a_out_buffer;  int a_out_buffer_len;  int a_out_buffer_size;//  void* audio_out;        // the audio_out handle, used for this audio stream  void* afilter;          // the audio filter stream  struct ad_functions_s* ad_driver;#ifdef DYNAMIC_PLUGINS  void *dec_handle;#endif  // win32-compatible codec parameters:  AVIStreamHeader audio;  WAVEFORMATEX* wf;  // codec-specific:  void* context; // codec-specific stuff (usually HANDLE or struct pointer)  unsigned char* codecdata; // extra header data passed from demuxer to codec  int codecdata_len;} sh_audio_t;typedef struct {  demux_stream_t *ds;  struct codecs_st *codec;  unsigned int format;  int inited;  float timer;		  // absolute time in video stream, since last start/seek  // frame counters:  float num_frames;       // number of frames played  int num_frames_decoded; // number of frames decoded  // timing (mostly for mpeg):  float pts;     // predicted/interpolated PTS of the current frame  float i_pts;   // PTS for the _next_ I/P frame  // output format: (set by demuxer)  float fps;              // frames per second (set only if constant fps)  float frametime;        // 1/fps  float aspect;           // aspect ratio stored in the file (for prescaling)  int i_bps;              // == bitrate  (compressed bytes/sec)  int disp_w,disp_h;      // display size (filled by fileformat parser)  // output driver/filters: (set by libmpcodecs core)  unsigned int outfmtidx;  void* video_out;        // the video_out handle, used for this video stream  void* vfilter;          // the video filter chain, used for this video stream  int vf_inited;#ifdef DYNAMIC_PLUGINS  void *dec_handle;#endif  // win32-compatible codec parameters:  AVIStreamHeader video;  BITMAPINFOHEADER* bih;  void* ImageDesc; // for quicktime codecs  // codec-specific:  void* context;   // codec-specific stuff (usually HANDLE or struct pointer)} sh_video_t;// demuxer.c:sh_audio_t* new_sh_audio(demuxer_t *demuxer,int id);sh_video_t* new_sh_video(demuxer_t *demuxer,int id);void free_sh_audio(sh_audio_t *sh);void free_sh_video(sh_video_t *sh);// video.c:int video_read_properties(sh_video_t *sh_video);int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char** start,int force_fps);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -