r499: This commit was manufactured by cvs2svn to create tag 'r1_2_1-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / fileac3.h
blob9209619a0b61d5f5a7fc4a3c0ae1155e02bc2c51
1 #ifndef FILEAC3_H
2 #define FILEAC3_H
5 #include <ffmpeg/avcodec.h>
6 #include "filebase.h"
7 #include <stdio.h>
10 class FileAC3 : public FileBase
12 public:
13 FileAC3(Asset *asset, File *file);
14 ~FileAC3();
16 int reset_parameters_derived();
17 static void get_parameters(BC_WindowBase *parent_window,
18 Asset *asset,
19 BC_WindowBase* &format_window,
20 int audio_options,
21 int video_options);
22 static int check_sig();
23 int open_file(int rd, int wr);
24 int close_file();
25 int write_samples(double **buffer, int64_t len);
27 private:
28 AVCodec *codec;
29 AVCodecContext *codec_context;
30 FILE *fd;
31 int16_t *temp_raw;
32 int temp_raw_allocated;
33 int temp_raw_size;
34 unsigned char *temp_compressed;
35 int compressed_allocated;
40 class AC3ConfigAudio : public BC_Window
42 public:
43 AC3ConfigAudio(BC_WindowBase *parent_window,
44 Asset *asset);
46 void create_objects();
47 int close_event();
49 Asset *asset;
50 BC_WindowBase *parent_window;
51 char string[BCTEXTLEN];
55 class AC3ConfigAudioBitrate : public BC_PopupMenu
57 public:
58 AC3ConfigAudioBitrate(AC3ConfigAudio *gui, int x, int y);
60 void create_objects();
61 int handle_event();
62 static char* bitrate_to_string(char *string, int bitrate);
64 AC3ConfigAudio *gui;
71 #endif