Avidemux Forum

Avidemux => Windows => Topic started by: wiz011 on March 26, 2025, 04:28:49 AM

Title: A bug in 2.8.2 241212
Post by: wiz011 on March 26, 2025, 04:28:49 AM
Windows version on Windows 7 64-bit.

Steps to reproduce...

1. Put "picture.jpg" and "audio.mp3" in C:\TMP

2. Load the following custom script:

#PY  <- Needed to identify #
#--automatically built--

adm = Avidemux()
ui = Gui()
if not adm.loadVideo("C:/Tmp/image.jpg"):
    raise("Cannot load C:/Tmp/image.jpg")
adm.clearSegments()
adm.addSegment(0, 0, 40000)
adm.markerA = 0
adm.markerB = 40000
adm.setHDRConfig(1, 1, 1, 1, 0)
adm.videoCodec("x264", "useAdvancedConfiguration=False", "general.params=CQ=30", "general.threads=0", "general.preset=fast", "general.tuning=stillimage", "general.profile=baseline", "general.fast_decode=False", "general.zero_latency=False"
, "general.fast_first_pass=True", "general.blueray_compatibility=False", "general.fake_interlaced=False", "level=-1", "vui.sar_height=1", "vui.sar_width=1", "vui.overscan=0", "vui.vidformat=5", "vui.fullrange=False"
, "vui.colorprim=2", "vui.transfer=2", "vui.colmatrix=2", "vui.chroma_loc=0", "MaxRefFrames=3", "MinIdr=25", "MaxIdr=250", "i_scenecut_threshold=40", "intra_refresh=False", "MaxBFrame=3", "i_bframe_adaptive=1"
, "i_bframe_bias=0", "i_bframe_pyramid=2", "b_deblocking_filter=True", "i_deblocking_filter_alphac0=0", "i_deblocking_filter_beta=0", "cabac=True", "interlaced=False", "constrained_intra=False", "tff=True"
, "fake_interlaced=False", "analyze.b_8x8=True", "analyze.b_i4x4=True", "analyze.b_i8x8=True", "analyze.b_p8x8=True", "analyze.b_p16x16=False", "analyze.b_b16x16=False", "analyze.weighted_pred=2", "analyze.weighted_bipred=True"
, "analyze.direct_mv_pred=1", "analyze.chroma_offset=0", "analyze.me_method=1", "analyze.me_range=16", "analyze.mv_range=-1", "analyze.mv_range_thread=-1", "analyze.subpel_refine=7", "analyze.chroma_me=True"
, "analyze.mixed_references=True", "analyze.trellis=1", "analyze.psy_rd=1.000000", "analyze.psy_trellis=0.000000", "analyze.fast_pskip=True", "analyze.dct_decimate=True", "analyze.noise_reduction=0", "analyze.psy=True"
, "analyze.intra_luma=11", "analyze.inter_luma=21", "ratecontrol.rc_method=0", "ratecontrol.qp_constant=0", "ratecontrol.qp_min=10", "ratecontrol.qp_max=51", "ratecontrol.qp_step=4", "ratecontrol.bitrate=0"
, "ratecontrol.rate_tolerance=1.000000", "ratecontrol.vbv_max_bitrate=0", "ratecontrol.vbv_buffer_size=0", "ratecontrol.vbv_buffer_init=1", "ratecontrol.ip_factor=1.400000", "ratecontrol.pb_factor=1.300000"
, "ratecontrol.aq_mode=1", "ratecontrol.aq_strength=1.000000", "ratecontrol.mb_tree=True", "ratecontrol.lookahead=40")
adm.addVideoFilter("stillimage", "start=0", "duration=99912")
adm.addVideoFilter("resampleFps", "mode=0", "newFpsDen=1000", "newFpsNum=15000", "interpolation=0")
adm.audioClearTracks()
if not adm.audioAddExternal("C:/Tmp/audio.mp3"):
    raise("Cannot add external audio track from C:/Tmp/audio.mp3")
adm.setSourceTrackLanguage(0,"und")
if adm.audioTotalTracksCount() <= 0:
    raise("Cannot add audio track 0, total tracks: " + str(adm.audioTotalTracksCount()))
adm.audioAddTrack(0)
adm.audioCodec(0, "copy")
adm.audioSetDrc2(0, 0, 1, 0.001, 0.2, 1, 2, -12)
adm.audioSetEq(0, 0, 0, 0, 0, 880, 5000)
adm.audioSetChannelGains(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
adm.audioSetChannelDelays(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
adm.audioSetChannelRemap(0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8)
adm.audioSetShift(0, 0, 0)
adm.setContainer("MP4", "muxerType=0", "optimize=1", "forceAspectRatio=False", "aspectRatio=1", "displayWidth=1280", "rotation=0", "clockfreq=0")
ui.displayInfo("Next...", "Please, set the audio duration value in the 1st video filter")

3. In the toolbar Audio Output change "Copy" to (as example) AAC (lav)

4. Click to "Filters"

The program crashed with the following error:

QuoteAssert failed :rst >= min at line 106, file/home/fx/hudson/workspace/mxe2024/avidemux/qt4/ADM_UIs/src/T_fIoatResettabIe.cpp
The application has encountered a fatal problem
The current editing has been saved and will be reloaded at next start

ADM_setCrashHook  [libADM_core6.dll]
ADM_setCrashHook  [libADM_core6.dll]
ADM_backTrack  [libADM_core6.dll]
InitFactory()  [libADM_UIQT56.dll]
InitFactory()  [libADM_UIQT56.dll]
diaElemFloatResettable::setMe(void*, void*, unsigned int)  [libADM_coreUI6.dll]
unknown function  [libADM_UIQT56.dll]
diaElemFrame::setMe(void*, void*, unsigned int)  [libADM_coreUI6.dll]
InitFactory()  [libADM_UIQT56.dll]
InitFactory()  [libADM_UIQT56.dll]
DIA_getAudioFilter(ADM_AUDIOFILTER_CONFIG*, double)  [avidemux_portable.exe]
ADM_AUDIOFILTER_CONFIG::audioFilterConfigure(double)  [avidemux_portable.exe]
HandleAction(Action)  [avidemux_portable.exe]
MainWindow::actionSlot(Action)  [avidemux_portable.exe]
QEventDispatcherWin32::qt_metacall(QMetaObject::Call, int, void**)  [Qt5Core.dll]
MainWindow::actionSignal(Action)  [avidemux_portable.exe]
MainWindow::buttonPressed()  [avidemux_portable.exe]
QEventDispatcherWin32::qt_metacall(QMetaObject::Call, int, void**)  [Qt5Core.dll]
QAbstractButton::toggled(bool)  [Qt5Widgets.dll]
QAbstractButton::nextCheckState()  [Qt5Widgets.dll]
QAbstractButton::mouseReleaseEvent(QMouseEvent*)  [Qt5Widgets.dll]
QWidget::event(QEvent*)  [Qt5Widgets.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QApplication::notify(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*)  [Qt5Core.dll]
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)  [Qt5Widgets.dll]
QDesktopWidget::qt_metacall(QMetaObject::Call, int, void**)  [Qt5Widgets.dll]
QDesktopWidget::qt_metacall(QMetaObject::Call, int, void**)  [Qt5Widgets.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*)  [Qt5Core.dll]
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)  [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]

If the button "Filters" is clicked in Audio -> Select Track -> Filters – all is fine. The crash occurs only if the toolbar is used.
Title: Re: A bug in 2.8.2 241212
Post by: eumagga0x2a on March 26, 2025, 10:38:29 PM
Should be fixed by audioFilterConfigure: safeguard against crash from bogus tempo ratio hint on opening audio filters config dialog (https://github.com/mean00/avidemux2/commit/ef64be5a702cc96b1694431ab38ff7565462c506), thank you very much for your report.

The crash from triggering an assertion failure (and therefore safe) was introduced almost 3 years ago and already present in 2.8.1.
Title: Re: A bug in 2.8.2 241212
Post by: wiz011 on March 27, 2025, 06:45:54 AM
Thank you.

Is there some expectation about when a new release/stable nightly build will be done? Months? Years?  :)