Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / cinelerra / fileac3.h
blobda5b29dea3452cac246ff597e3cbabe5752e2b4b
1 #ifndef FILEAC3_H
2 #define FILEAC3_H
4 extern "C" {
5 #include <avcodec.h>
6 };
7 #include "filebase.h"
8 #include <stdio.h>
11 class FileAC3 : public FileBase
13 public:
14 FileAC3(Asset_GC asset, File *file);
15 ~FileAC3();
17 int reset_parameters_derived();
18 static void get_parameters(BC_WindowBase *parent_window,
19 Asset_GC asset,
20 BC_WindowBase* &format_window,
21 int audio_options,
22 int video_options);
23 static int check_sig();
24 int open_file(int rd, int wr);
25 int close_file();
26 int write_samples(double **buffer, int64_t len);
28 private:
29 AVCodec *codec;
30 AVCodecContext *codec_context;
31 FILE *fd;
32 int16_t *temp_raw;
33 int temp_raw_allocated;
34 int temp_raw_size;
35 unsigned char *temp_compressed;
36 int compressed_allocated;
41 class AC3ConfigAudio : public BC_Window
43 public:
44 AC3ConfigAudio(BC_WindowBase *parent_window,
45 Asset_GC asset);
47 void create_objects();
48 int close_event();
50 Asset_GC asset;
51 BC_WindowBase *parent_window;
52 char string[BCTEXTLEN];
56 class AC3ConfigAudioBitrate : public BC_PopupMenu
58 public:
59 AC3ConfigAudioBitrate(AC3ConfigAudio *gui, int x, int y);
61 void create_objects();
62 int handle_event();
63 static char* bitrate_to_string(char *string, int bitrate);
65 AC3ConfigAudio *gui;
72 #endif
74 // Local Variables:
75 // mode: C++
76 // c-file-style: "linux"
77 // End: