Ignore LD-environment for mp3 im/export
This fixes mp3 export on Linux/ARM (Raspberry Pi) with system-wide dynamically linked ffmpeg. Otherwise the there would be library conflicts with ardour-bundled libz and libcairo.
This commit is contained in:
parent
82d491cb80
commit
8c7157df6c
|
@ -411,7 +411,7 @@ ExportGraphBuilder::Encoder::init_writer (boost::shared_ptr<AudioGrapher::CmdPip
|
|||
|
||||
/* argp is free()d in ~SystemExec,
|
||||
* SystemExec is deleted when writer is destroyed */
|
||||
ARDOUR::SystemExec* exec = new ARDOUR::SystemExec (ffmpeg_exe, argp);
|
||||
ARDOUR::SystemExec* exec = new ARDOUR::SystemExec (ffmpeg_exe, argp, true);
|
||||
PBD::info << "Encode command: { " << exec->to_s () << "}" << endmsg;
|
||||
if (exec->start (SystemExec::MergeWithStdin)) {
|
||||
throw ExportFailed ("External encoder (ffmpeg) cannot be started.");
|
||||
|
|
|
@ -463,7 +463,7 @@ ExportHandler::finish_timespan ()
|
|||
subs.insert (std::pair<char, std::string> ('Y', year.str ()));
|
||||
subs.insert (std::pair<char, std::string> ('Z', metadata.country ()));
|
||||
|
||||
ARDOUR::SystemExec *se = new ARDOUR::SystemExec(fmt->command(), subs);
|
||||
ARDOUR::SystemExec *se = new ARDOUR::SystemExec(fmt->command(), subs, true);
|
||||
info << "Post-export command line : {" << se->to_s () << "}" << endmsg;
|
||||
se->ReadStdout.connect_same_thread(command_connection, boost::bind(&ExportHandler::command_output, this, _1, _2));
|
||||
int ret = se->start (SystemExec::MergeWithStdin);
|
||||
|
|
|
@ -57,7 +57,7 @@ FFMPEGFileImportableSource::FFMPEGFileImportableSource (const std::string& path,
|
|||
argp[a++] = strdup ("-of");
|
||||
argp[a++] = strdup ("json");
|
||||
|
||||
ARDOUR::SystemExec* exec = new ARDOUR::SystemExec (ffprobe_exe, argp);
|
||||
ARDOUR::SystemExec* exec = new ARDOUR::SystemExec (ffprobe_exe, argp, true);
|
||||
PBD::info << "Probe command: { " << exec->to_s () << "}" << endmsg;
|
||||
|
||||
if (exec->start ()) {
|
||||
|
@ -186,7 +186,7 @@ FFMPEGFileImportableSource::start_ffmpeg ()
|
|||
#endif
|
||||
argp[a++] = strdup ("-");
|
||||
|
||||
_ffmpeg_exec = new ARDOUR::SystemExec (ffmpeg_exe, argp);
|
||||
_ffmpeg_exec = new ARDOUR::SystemExec (ffmpeg_exe, argp, true);
|
||||
PBD::info << "Decode command: { " << _ffmpeg_exec->to_s () << "}" << endmsg;
|
||||
if (_ffmpeg_exec->start ()) {
|
||||
PBD::error << "FFMPEGFileImportableSource: External decoder (ffmpeg) cannot be started." << endmsg;
|
||||
|
|
Loading…
Reference in New Issue