291
|
1 // Stream headers:
|
|
2
|
|
3 typedef struct {
|
|
4 int driver;
|
|
5 // codec descriptor from codec.conf
|
|
6 } codecinfo_t;
|
|
7
|
|
8 typedef struct {
|
|
9 demux_stream_t *ds;
|
|
10 codecinfo_t codec;
|
|
11 // output format:
|
|
12 int samplerate;
|
|
13 int samplesize;
|
|
14 int channels;
|
|
15 int o_bps; // == samplerate*samplesize*channels
|
|
16 // buffers:
|
|
17 char* a_in_buffer;
|
|
18 int a_in_buffer_len;
|
|
19 int a_in_buffer_size;
|
|
20 // win32 codec stuff:
|
|
21 AVIStreamHeader audio;
|
|
22 WAVEFORMATEX wf;
|
|
23 char wf_ext[64]; // in format
|
|
24 WAVEFORMATEX o_wf; // out format
|
|
25 HACMSTREAM srcstream; // handle
|
|
26 int audio_in_minsize;
|
|
27 int audio_out_minsize;
|
|
28 // other codecs:
|
|
29 ac3_frame_t *ac3_frame;
|
|
30 int pcm_bswap;
|
|
31 } sh_audio_t;
|
|
32
|
|
33 typedef struct {
|
|
34 demux_stream_t *ds;
|
|
35 codecinfo_t codec;
|
|
36 // output format:
|
|
37 float fps;
|
|
38 float frametime; // 1/fps
|
|
39 unsigned int outfmt;
|
|
40 // unsigned int bitrate;
|
|
41 // buffers:
|
|
42 char *our_out_buffer;
|
|
43 // win32 codec stuff:
|
|
44 AVIStreamHeader video;
|
|
45 BITMAPINFOHEADER bih; // in format
|
|
46 BITMAPINFOHEADER o_bih; // out format
|
|
47 HIC hic; // handle
|
|
48 } sh_video_t;
|
|
49
|