annotate libmpcodecs/ae.h @ 28422:f7ba65621809

Add checks that a D3D device is available before attempting rendering. We may have lost the device e.g. because it became uncooperative e.g. when using remote desktop or Vista's UAC is activated. Patch by Georgi Petrov [gogothebee gmail com]
author reimar
date Tue, 03 Feb 2009 11:00:09 +0000
parents 41652035483c
children bbb6ebec87a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
1 #ifndef MPLAYER_AE_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
2 #define MPLAYER_AE_H
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
3
26147
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
4 #include "libmpdemux/muxer.h"
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
5
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
6 #define ACODEC_COPY 0
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
7 #define ACODEC_PCM 1
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
8 #define ACODEC_VBRMP3 2
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
9 #define ACODEC_NULL 3
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
10 #define ACODEC_LAVC 4
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
11 #define ACODEC_TOOLAME 5
15258
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
12 #define ACODEC_FAAC 6
15359
af245d15f502 added twolame mp2 audio encoder
nicodvb
parents: 15258
diff changeset
13 #define ACODEC_TWOLAME 7
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
14
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
15 #define AE_NEEDS_COMPRESSED_INPUT 1
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
16
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
17 typedef struct {
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
18 int channels;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
19 int sample_rate;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
20 int bitrate;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
21 int samples_per_frame;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
22 int audio_preload;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
23 } audio_encoding_params_t;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
24
15258
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
25 typedef struct audio_encoder_s {
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
26 int codec;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
27 int flags;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
28 muxer_stream_t *stream;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
29 audio_encoding_params_t params;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
30 int audio_preload; //in ms
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
31 int input_format;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
32 int min_buffer_size, max_buffer_size; //for init_audio_filters
17122
c23ca41ad996 more warning fixes
ods15
parents: 15359
diff changeset
33 unsigned char *decode_buffer;
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
34 int decode_buffer_size;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
35 int decode_buffer_len;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
36 void *priv;
15258
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
37 int (*bind)(struct audio_encoder_s*, muxer_stream_t*);
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
38 int (*get_frame_size)(struct audio_encoder_s*);
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
39 int (*set_decoded_len)(struct audio_encoder_s *encoder, int len);
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
40 int (*encode)(struct audio_encoder_s *encoder, uint8_t *dest, void *src, int nsamples, int max_size);
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
41 void (*fixup)(struct audio_encoder_s *encoder);
c2979462805a fixed wrong function pointers definitions
nicodvb
parents: 15234
diff changeset
42 int (*close)(struct audio_encoder_s *encoder);
15234
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
43 } audio_encoder_t;
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
44
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
45 audio_encoder_t *new_audio_encoder(muxer_stream_t *stream, audio_encoding_params_t *params);
e84a6ae9d51e audio encoding reworked
nicodvb
parents:
diff changeset
46
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
47 #endif /* MPLAYER_AE_H */