Qt: Disallow opening the context twice

This commit is contained in:
Jeffrey Pfau 2014-11-12 01:35:51 -08:00
parent b0fdbab77e
commit 61cfdbaccb
3 changed files with 7 additions and 2 deletions

View File

@ -282,6 +282,10 @@ void FFmpegEncoderClose(struct FFmpegEncoder* encoder) {
encoder->context = 0;
}
bool FFmpegEncoderIsOpen(struct FFmpegEncoder* encoder) {
return !!encoder->context;
}
void _ffmpegPostAudioFrame(struct GBAAVStream* stream, int32_t left, int32_t right) {
struct FFmpegEncoder* encoder = (struct FFmpegEncoder*) stream;
if (!encoder->context) {

View File

@ -50,5 +50,6 @@ void FFmpegEncoderSetDimensions(struct FFmpegEncoder*, int width, int height);
bool FFmpegEncoderVerifyContainer(struct FFmpegEncoder*);
bool FFmpegEncoderOpen(struct FFmpegEncoder*, const char* outfile);
void FFmpegEncoderClose(struct FFmpegEncoder*);
bool FFmpegEncoderIsOpen(struct FFmpegEncoder*);
#endif

View File

@ -274,7 +274,7 @@ void VideoView::showAdvanced(bool show) {
}
bool VideoView::validateSettings() {
bool valid = true;
bool valid = !m_filename.isNull() && !FFmpegEncoderIsOpen(&m_encoder);
if (!m_audioCodecCstr) {
valid = false;
m_ui.audio->setStyleSheet("QComboBox { color: red; }");
@ -302,7 +302,7 @@ bool VideoView::validateSettings() {
valid = false;
}
m_ui.start->setEnabled(valid && !m_filename.isNull());
m_ui.start->setEnabled(valid);
return valid;
}