#include "audio.h"
#include "global/global.h"
#include "timeline/sequence.h"
#include "panels/panels.h"
#include "global/config.h"
#include "ui/audiomonitor.h"
#include "rendering/renderfunctions.h"
#include "global/debug.h"
#include <QApplication>
#include <QAudioOutput>
#include <QAudioInput>
#include <QtMath>
#include <QFile>
#include <QDir>
#include <QComboBox>
#include <libavcodec/avcodec.h>
Functions | |
bool | is_audio_device_set () |
QAudioDeviceInfo | get_audio_device (QAudio::Mode mode) |
void | init_audio () |
void | stop_audio () |
void | clear_audio_ibuffer () |
int | current_audio_freq () |
qint64 | get_buffer_offset_from_frame (double framerate, long frame) |
double | log_volume (double linear) |
void | int32_to_char_array (qint32 i, char *array) |
void | write_wave_header (QFile &f, const QAudioFormat &format) |
void | write_wave_trailer (QFile &f) |
bool | start_recording () |
void | stop_recording () |
QString | get_recorded_audio_filename () |
void | combobox_audio_sample_rates (QComboBox *combobox) |
QObject * | GetAudioWakeObject () |
void | SetAudioWakeObject (QObject *o) |
void | WakeAudioWakeObject () |
Variables | |
QAudioOutput * | audio_output |
QIODevice * | audio_io_device |
bool | audio_device_set = false |
bool | audio_scrub = false |
QMutex | audio_write_lock |
QAudioInput * | audio_input = nullptr |
QFile | output_recording |
bool | recording = false |
bool | audio_rendering = false |
int | audio_rendering_rate = 0 |
qint8 | audio_ibuffer [audio_ibuffer_size] |
qint64 | audio_ibuffer_read = 0 |
long | audio_ibuffer_frame = 0 |
double | audio_ibuffer_timecode = 0 |
AudioSenderThread * | audio_thread = nullptr |
QObject * | audio_wake_object = nullptr |
QMutex | audio_wake_mutex |
void clear_audio_ibuffer | ( | ) |
void combobox_audio_sample_rates | ( | QComboBox * | combobox | ) |
int current_audio_freq | ( | ) |
QAudioDeviceInfo get_audio_device | ( | QAudio::Mode | mode | ) |
qint64 get_buffer_offset_from_frame | ( | double | framerate, |
long | frame | ||
) |
QString get_recorded_audio_filename | ( | ) |
QObject* GetAudioWakeObject | ( | ) |
void init_audio | ( | ) |
void int32_to_char_array | ( | qint32 | i, |
char * | array | ||
) |
bool is_audio_device_set | ( | ) |
double log_volume | ( | double | linear | ) |
void SetAudioWakeObject | ( | QObject * | o | ) |
bool start_recording | ( | ) |
void stop_audio | ( | ) |
void stop_recording | ( | ) |
void WakeAudioWakeObject | ( | ) |
void write_wave_header | ( | QFile & | f, |
const QAudioFormat & | format | ||
) |
void write_wave_trailer | ( | QFile & | f | ) |
bool audio_device_set = false |
qint8 audio_ibuffer[audio_ibuffer_size] |
long audio_ibuffer_frame = 0 |
qint64 audio_ibuffer_read = 0 |
double audio_ibuffer_timecode = 0 |
QAudioInput* audio_input = nullptr |
QIODevice* audio_io_device |
QAudioOutput* audio_output |
bool audio_rendering = false |
int audio_rendering_rate = 0 |
bool audio_scrub = false |
AudioSenderThread* audio_thread = nullptr |
QMutex audio_wake_mutex |
QObject* audio_wake_object = nullptr |
QMutex audio_write_lock |
QFile output_recording |
bool recording = false |