}
case MPV_EVENT_FILE_LOADED:
+ // Add separate audiofile if there is any
+ if (!audioFileToAdd.isEmpty())
+ {
+ const QByteArray audioUtf8 = audioFileToAdd.toUtf8();
+ const char *args2[] = {"audio-add", audioUtf8.constData(), nullptr};
+ sendCommand(args2);
+ audioFileToAdd.clear();
+ }
setState(Media::PlayingState);
break;
const char *args[] = {"loadfile", fileUtf8.constData(), nullptr};
sendCommand(args);
- qApp->processEvents();
-
- const QByteArray audioUtf8 = audio.toUtf8();
- const char *args2[] = {"audio-add", audioUtf8.constData(), nullptr};
- sendCommand(args2);
+ // We are playing audio as separate file. The add audio command must executed when the main file is loaded
+ // Otherwise the audio file doesn't gets played
+ audioFileToAdd = audio;
+ qApp->processEvents();
clearTrackState();
}
}
void MediaMPV::play(const QString &file) {
+ audioFileToAdd.clear();
+
const QByteArray fileUtf8 = file.toUtf8();
const char *args[] = {"loadfile", fileUtf8.constData(), nullptr};
sendCommand(args);
}
void MediaMPV::enqueue(const QString &file) {
+ audioFileToAdd.clear();
const QByteArray fileUtf8 = file.toUtf8();
const char *args[] = {"loadfile", fileUtf8.constData(), "append", nullptr};
sendCommand(args);