diff --git a/src/App.jsx b/src/App.jsx
index bb42146e..72526044 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1757,9 +1757,11 @@ const App = memo(() => {
if (workingRef.current) return;
try {
+ const enabledStreams = mainStreams.filter((stream) => isCopyingStreamId(filePath, stream.index));
+
setWorking(i18n.t('Extracting all streams'));
setStreamsSelectorShown(false);
- const extractedPaths = await extractStreams({ customOutDir, filePath, streams: mainStreams, enableOverwriteOutput });
+ const extractedPaths = await extractStreams({ customOutDir, filePath, streams: enabledStreams, enableOverwriteOutput });
if (!hideAllNotifications) openDirToast({ icon: 'success', filePath: extractedPaths[0], text: i18n.t('All streams have been extracted as separate files') });
} catch (err) {
if (err instanceof RefuseOverwriteError) {
@@ -1771,7 +1773,7 @@ const App = memo(() => {
} finally {
setWorking();
}
- }, [customOutDir, enableOverwriteOutput, filePath, hideAllNotifications, mainStreams, setWorking]);
+ }, [customOutDir, enableOverwriteOutput, filePath, hideAllNotifications, isCopyingStreamId, mainStreams, setWorking]);
const detectSegments = useCallback(async ({ name, workingText, errorText, fn }) => {
if (!filePath) return;
@@ -2611,31 +2613,33 @@ const App = memo(() => {
isShown={streamsSelectorShown}
onCloseComplete={() => setStreamsSelectorShown(false)}
>
-
+ {mainStreams && (
+
+ )}
diff --git a/src/StreamsSelector.jsx b/src/StreamsSelector.jsx
index e3287240..cdf32bcd 100644
--- a/src/StreamsSelector.jsx
+++ b/src/StreamsSelector.jsx
@@ -333,7 +333,7 @@ const tableStyle = { fontSize: 14, width: '100%' };
const fileStyle = { marginBottom: 20, padding: 5, minWidth: '100%', overflowX: 'auto' };
const StreamsSelector = memo(({
- mainFilePath, mainFileFormatData, streams: mainFileStreams, mainFileChapters, isCopyingStreamId, toggleCopyStreamId,
+ mainFilePath, mainFileFormatData, mainFileStreams, mainFileChapters, isCopyingStreamId, toggleCopyStreamId,
setCopyStreamIdsForPath, onExtractStreamPress, onExtractAllStreamsPress, allFilesMeta, externalFilesMeta, setExternalFilesMeta,
showAddStreamSourceDialog, shortestFlag, setShortestFlag, nonCopiedExtraStreams,
customTagsByFile, setCustomTagsByFile, customTagsByStreamId, setCustomTagsByStreamId,
@@ -343,8 +343,6 @@ const StreamsSelector = memo(({
const [editingStream, setEditingStream] = useState();
const { t } = useTranslation();
- if (!mainFileStreams) return null;
-
function getFormatDuration(formatData) {
if (!formatData || !formatData.duration) return undefined;
const parsed = parseFloat(formatData.duration, 10);