diff --git a/src/App.jsx b/src/App.jsx index 215c327f..804a45b6 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -178,6 +178,8 @@ const App = memo(() => { const durationSafe = duration || 1; const zoomedDuration = duration != null ? duration / zoom : undefined; + const isCustomFormatSelected = fileFormat !== detectedFileFormat; + const firstUpdateRef = useRef(true); function safeSetConfig(key, value) { @@ -946,7 +948,7 @@ const App = memo(() => { Try one of the following before exporting again:
    {detectedFileFormat === 'mp4' &&
  1. Change output Format from MP4 to MOV
  2. } -
  3. Select a different output Format (matroska takes almost everything)
  4. +
  5. Select a different output Format (matroska and mp4 support most codecs)
  6. Exclude unnecessary Tracks
  7. Try both Normal cut and Keyframe cut
  8. Set a different Working directory
  9. @@ -956,9 +958,9 @@ const App = memo(() => { ); - const { value } = await ReactSwal.fire({ title: i18n.t('Unable to export this file'), html, timer: null, showConfirmButton: true, showCancelButton: true, confirmButtonText: i18n.t('OK'), cancelButtonText: i18n.t('Report') }); + const { value } = await ReactSwal.fire({ title: i18n.t('Unable to export this file'), html, timer: null, showConfirmButton: true, showCancelButton: true, cancelButtonText: i18n.t('OK'), confirmButtonText: i18n.t('Report'), reverseButtons: true, focusCancel: true }); - if (!value) { + if (value) { openSendReportDialogWithState(err); } }, [openSendReportDialogWithState, detectedFileFormat]); @@ -989,7 +991,7 @@ const App = memo(() => { customOutDir, filePath, outFormat: fileFormat, - isOutFormatUserSelected: fileFormat !== detectedFileFormat, + isCustomFormatSelected, videoDuration: duration, rotation: effectiveRotation, copyStreamIds, @@ -1006,6 +1008,8 @@ const App = memo(() => { await autoMergeSegments({ customOutDir, sourceFile: filePath, + outFormat: fileFormat, + isCustomFormatSelected, segmentPaths: outFiles, }); } @@ -1037,9 +1041,9 @@ const App = memo(() => { } }, [ effectiveRotation, outSegments, handleCutFailed, - working, duration, filePath, keyframeCut, detectedFileFormat, + working, duration, filePath, keyframeCut, autoMerge, customOutDir, fileFormat, haveInvalidSegs, copyStreamIds, numStreamsToCopy, - exportExtraStreams, nonCopiedExtraStreams, outputDir, shortestFlag, + exportExtraStreams, nonCopiedExtraStreams, outputDir, shortestFlag, isCustomFormatSelected, ]); const capture = useCallback(async () => { diff --git a/src/StreamsSelector.jsx b/src/StreamsSelector.jsx index 8d174f7d..bd289a6b 100644 --- a/src/StreamsSelector.jsx +++ b/src/StreamsSelector.jsx @@ -152,10 +152,10 @@ const StreamsSelector = memo(({ - {externalFilesEntries.length > 0 && !areWeCutting && ( + {externalFilesEntries.length > 0 && (
    - {t('If the streams have different length, do you want to make the combined output file as long as the longest stream or the shortest stream?')} + {t('When tracks have different lengths, do you want to make the output file as long as the longest or the shortest track?')}
    fs.unlink(path), { concurrency: 5 }); }