}
std::string preset = preset_combo.get_active_text();
- FFSettings ffs ; /* = transcoder->default_encoder_settings(); */
+ TranscodeFfmpeg::FFSettings ffs ; /* = transcoder->default_encoder_settings(); */
ffs.clear();
if (fps_checkbox.get_active()) {
transcoder->set_avoffset(av_offset / (double)_session->nominal_frame_rate());
}
- FFSettings meta = transcoder->default_meta_data();
+ TranscodeFfmpeg::FFSettings meta = transcoder->default_meta_data();
if (meta_checkbox.get_active()) {
ARDOUR::SessionMetadata * session_data = ARDOUR::SessionMetadata::Metadata();
if (session_data->year() > 0 ) {
return true;
}
-FFSettings
+TranscodeFfmpeg::FFSettings
TranscodeFfmpeg::default_encoder_settings ()
{
- FFSettings ffs;
+ TranscodeFfmpeg::FFSettings ffs;
ffs.clear();
ffs["-vcodec"] = "mpeg4";
ffs["-acodec"] = "ac3";
return ffs;
}
-FFSettings
+TranscodeFfmpeg::FFSettings
TranscodeFfmpeg::default_meta_data ()
{
- FFSettings ffm;
+ TranscodeFfmpeg::FFSettings ffm;
ffm.clear();
ffm["comment"] = "Created with ardour";
return ffm;
}
bool
-TranscodeFfmpeg::encode (std::string outfile, std::string inf_a, std::string inf_v, FFSettings ffs, FFSettings meta, bool map)
+TranscodeFfmpeg::encode (std::string outfile, std::string inf_a, std::string inf_v, TranscodeFfmpeg::FFSettings ffs, TranscodeFfmpeg::FFSettings meta, bool map)
{
#define MAX_FFMPEG_ENCODER_ARGS (100)
char **argp;
argp[a++] = strdup("-i");
argp[a++] = strdup(inf_a.c_str());
- for(FFSettings::const_iterator it = ffs.begin(); it != ffs.end(); ++it) {
+ for(TranscodeFfmpeg::FFSettings::const_iterator it = ffs.begin(); it != ffs.end(); ++it) {
argp[a++] = strdup(it->first.c_str());
argp[a++] = strdup(it->second.c_str());
}
- for(FFSettings::const_iterator it = meta.begin(); it != meta.end(); ++it) {
+ for(TranscodeFfmpeg::FFSettings::const_iterator it = meta.begin(); it != meta.end(); ++it) {
argp[a++] = strdup("-metadata");
argp[a++] = format_metadata(it->first.c_str(), it->second.c_str());
}
#include "ardour/types.h"
#include "system_exec.h"
-/* TODO: use a namespace here ? */
-struct FFAudioStream {
- std::string name;
- std::string stream_id;
- uint32_t channels;
-};
-typedef std::vector<FFAudioStream> AudioStreams;
-typedef std::map<std::string,std::string> FFSettings;
/** @class TranscodeFfmpeg
* @brief wrapper around ffmpeg and ffprobe command-line utils
{
public:
+ struct FFAudioStream {
+ std::string name;
+ std::string stream_id;
+ uint32_t channels;
+ };
+ typedef std::vector<FFAudioStream> FFAudioStreams;
+ typedef std::map<std::string,std::string> FFSettings;
+
+
/** instantiate a new transcoder. If a file-name is given, the file's
* attributes (fps, duration, geometry etc) are read.
*
ARDOUR::framecnt_t get_duration() { return m_duration; }
std::string get_codec() { return m_codec; }
- AudioStreams get_audio() { return m_audio; }
+ FFAudioStreams get_audio() { return m_audio; }
/** override file duration used with the \ref Progress signal.
* @param d duration in video-frames = length_in_seconds * get_fps()
bool ffexecok;
bool probeok;
- AudioStreams m_audio;
+ FFAudioStreams m_audio;
char *format_metadata (std::string, std::string);
void ffmpegparse_v (std::string d, size_t s);
int w = 0, h = 0;
m_aspect = 4.0/3.0;
- AudioStreams as; as.clear();
+ TranscodeFfmpeg::FFAudioStreams as; as.clear();
path_hbox->pack_start (path_label, false, false, 3);
path_hbox->pack_start (path_entry, true, true, 3);
t->attach (audio_combo, 1, 4, 2, 3);
audio_combo.append_text("No audio");
if (as.size() > 0) {
- for (AudioStreams::iterator it = as.begin(); it < as.end(); ++it) {
+ for (TranscodeFfmpeg::FFAudioStreams::iterator it = as.begin(); it < as.end(); ++it) {
audio_combo.append_text((*it).name);
}
}