mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
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
3 changed files with 4 additions and 4 deletions
|
|
@ -411,7 +411,7 @@ ExportGraphBuilder::Encoder::init_writer (boost::shared_ptr<AudioGrapher::CmdPip
|
||||||
|
|
||||||
/* argp is free()d in ~SystemExec,
|
/* argp is free()d in ~SystemExec,
|
||||||
* SystemExec is deleted when writer is destroyed */
|
* 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;
|
PBD::info << "Encode command: { " << exec->to_s () << "}" << endmsg;
|
||||||
if (exec->start (SystemExec::MergeWithStdin)) {
|
if (exec->start (SystemExec::MergeWithStdin)) {
|
||||||
throw ExportFailed ("External encoder (ffmpeg) cannot be started.");
|
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> ('Y', year.str ()));
|
||||||
subs.insert (std::pair<char, std::string> ('Z', metadata.country ()));
|
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;
|
info << "Post-export command line : {" << se->to_s () << "}" << endmsg;
|
||||||
se->ReadStdout.connect_same_thread(command_connection, boost::bind(&ExportHandler::command_output, this, _1, _2));
|
se->ReadStdout.connect_same_thread(command_connection, boost::bind(&ExportHandler::command_output, this, _1, _2));
|
||||||
int ret = se->start (SystemExec::MergeWithStdin);
|
int ret = se->start (SystemExec::MergeWithStdin);
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ FFMPEGFileImportableSource::FFMPEGFileImportableSource (const std::string& path,
|
||||||
argp[a++] = strdup ("-of");
|
argp[a++] = strdup ("-of");
|
||||||
argp[a++] = strdup ("json");
|
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;
|
PBD::info << "Probe command: { " << exec->to_s () << "}" << endmsg;
|
||||||
|
|
||||||
if (exec->start ()) {
|
if (exec->start ()) {
|
||||||
|
|
@ -186,7 +186,7 @@ FFMPEGFileImportableSource::start_ffmpeg ()
|
||||||
#endif
|
#endif
|
||||||
argp[a++] = strdup ("-");
|
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;
|
PBD::info << "Decode command: { " << _ffmpeg_exec->to_s () << "}" << endmsg;
|
||||||
if (_ffmpeg_exec->start ()) {
|
if (_ffmpeg_exec->start ()) {
|
||||||
PBD::error << "FFMPEGFileImportableSource: External decoder (ffmpeg) cannot be started." << endmsg;
|
PBD::error << "FFMPEGFileImportableSource: External decoder (ffmpeg) cannot be started." << endmsg;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue