1 /*
2 Copyright (c) 2012-2020 Maarten Baert <maarten-baert@hotmail.com>
3 
4 This file is part of SimpleScreenRecorder.
5 
6 SimpleScreenRecorder is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 SimpleScreenRecorder is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with SimpleScreenRecorder.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 #include "Global.h"
22 
23 struct OutputSettings {
24 
25 	QString file;
26 	QString container_avname;
27 
28 	QString video_codec_avname;
29 	unsigned int video_kbit_rate;
30 	std::vector<std::pair<QString, QString> > video_options;
31 	unsigned int video_width, video_height;
32 	unsigned int video_frame_rate;
33 	bool video_allow_frame_skipping;
34 
35 	QString audio_codec_avname;
36 	unsigned int audio_kbit_rate;
37 	std::vector<std::pair<QString, QString> > audio_options;
38 	unsigned int audio_channels, audio_sample_rate;
39 
40 };
41 
42 struct OutputFormat {
43 
44 	bool m_video_enabled;
45 	unsigned int m_video_width, m_video_height;
46 	unsigned int m_video_frame_rate;
47 	AVPixelFormat m_video_pixel_format;
48 	int m_video_colorspace;
49 
50 	bool m_audio_enabled;
51 	unsigned int m_audio_channels, m_audio_sample_rate;
52 	unsigned int m_audio_frame_size;
53 	AVSampleFormat m_audio_sample_format;
54 
55 };
56