Crash with PCM audio in AVI if attempt to save to MKV

Started by therube, April 03, 2023, 04:21:58 PM

Previous topic - Next topic

therube

Crash with PCM audio in AVI if attempt to save to MKV

I don't know if it is an always happens case or only with the particular file?

Load file
Set Audio & Video to Copy mode
Set Output Format to MKV

File -> Save

Result, Crash.
Win7, avidemux_2.8.2 r230212_win64.exe

ADM_setCrashHook  [libADM_core6.dll]
ADM_setCrashHook  [libADM_core6.dll]
ADM_backTrack  [libADM_core6.dll]
muxerFFmpeg::initAudio(unsigned int, ADM_audioStream**)  [libADM_coreMuxer6.dll]
muxerMkv::open(char const*, ADM_videoStream*, unsigned int, ADM_audioStream**)  [libADM_mx_mkv.dll]
admSaver::save()  [avidemux_portable.exe]
A_Save(char const*)  [avidemux_portable.exe]
A_SaveWrapper(char const*)  [avidemux_portable.exe]
ADM_QT4_fileSel::GUI_FileSelWriteExtension(char const*, char const*, void (*)(char const*))  [avidemux_portable.exe]
HandleAction_Save(Action)  [avidemux_portable.exe]
HandleAction(Action)  [avidemux_portable.exe]
MainWindow::actionSlot(Action)  [avidemux_portable.exe]
MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [avidemux_portable.exe]
QMimeType::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Core.dll]
MainWindow::actionSignal(Action)  [avidemux_portable.exe]
MainWindow::searchFileMenu(QAction*)  [avidemux_portable.exe]
MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [avidemux_portable.exe]
QMimeType::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Core.dll]
QMenu::leaveEvent(QEvent*)  [Qt5Widgets.dll]
QMenu::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Widgets.dll]
QMimeType::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Core.dll]
QAction::activate(QAction::ActionEvent)  [Qt5Widgets.dll]
QAction::event(QEvent*)  [Qt5Widgets.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QApplication::notify(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::sendEvent(QObject*, QEvent*)  [Qt5Core.dll]
QShortcutMap::dispatchEvent(QKeyEvent*)  [Qt5Gui.dll]
QShortcutMap::tryShortcut(QKeyEvent*)  [Qt5Gui.dll]
QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short)  [Qt5Gui.dll]
QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*)  [Qt5Gui.dll]
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)  [Qt5Gui.dll]
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Gui.dll]
QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
qt_plugin_instance  [qwindows.dll]
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
QCoreApplication::exec()  [Qt5Core.dll]
UI_RunApp()  [avidemux_portable.exe]
startAvidemux(int, char**)  [avidemux_portable.exe]
SDL_main  [avidemux_portable.exe]
ms2timedisplay(unsigned int)  [avidemux_portable.exe]
unknown function  [avidemux_portable.exe]
unknown function  [avidemux_portable.exe]
BaseThreadInitThunk  [kernel32.dll]
RtlUserThreadStart  [ntdll.dll]

(I have no idea if my action, to save to MKV, is even valid - based on the codecs of the source.
Nonetheless, it shouldn't crash.)


You cannot view this attachment.

eumagga0x2a

Thank you for the sample. Avidemux log should have included a line "Unsupported bits per sample value" for this file as all libavformat-based muxers in Avidemux which accept PCM audio tracks (MKV and MOV) support 16 and 24 bits per sample PCM varieties only. The crash was a controlled and safe (but annoying, of course) assert failure, now replaced with a plain failure to initialize muxer.