Projects
home:enzokiel:branches:home:enzokiel
avidemux3
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Difference Between Revision 9 and
home:enzokiel
/
avidemux3
View file
avidemux3.changes
Changed
@@ -1,7 +1,7 @@ ------------------------------------------------------------------- -Wed Apr 08 09:11:41 UTC 2026 - enzokiel@kabelmail.de +Sun Apr 12 09:41:33 UTC 2026 - enzokiel@kabelmail.de -- Update to version 2.8.2.git20260407 +- Update to version 2.8.2.git20260412 - No changelog available -------------------------------------------------------------------
View file
avidemux3.spec
Changed
@@ -19,7 +19,7 @@ Name: avidemux3 Summary: Graphical video editing and transcoding tool License: GPL-2.0-only -Version: 2.8.2.git20260407 +Version: 2.8.2.git20260412 Release: 0 URL: https://github.com/mean00/avidemux2 ExclusiveArch: %ix86 x86_64
View file
avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_bullseye
Added
+(directory)
View file
avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_bullseye/Dockerfile
Added
@@ -0,0 +1,145 @@ +FROM debian:bullseye + +ARG DEBIAN_FRONTEND=noninteractive +ARG USER_UID=1000 +ARG USER_GID=1000 +ARG USERNAME=bullseye + +#RUN echo 'Acquire::http::Proxy "http://192.168.0.9:3142";' > /etc/apt/apt.conf.d/01proxy +RUN sed -i 's/ main / main contrib non-free non-free-firmware/' /etc/apt/sources.list +RUN echo "deb http://archive.debian.org/debian bullseye-backports main contrib non-free" > /etc/apt/sources.list.d/bullseye-backports.list +RUN apt-get update +RUN apt-get install -y \ + apt-utils \ + bison \ + build-essential \ + bzip2 \ + ca-certificates \ + ccache \ + check \ + curl \ + cmake-latest \ + flex \ + git \ + git-lfs \ + gperf \ + lcov \ + libbsd-dev \ + libffi-dev \ + libglib2.0-0 \ + libncurses-dev \ + libpixman-1-0 \ + libsdl2-2.0-0 \ + libslirp0 \ + libusb-1.0-0-dev \ + make \ + ninja-build \ + python3 \ + python3-venv \ + python3-crcmod \ + ruby \ + sudo \ + unzip \ + usbutils \ + wget \ + xz-utils \ + zip \ + build-essential pkg-config yasm \ + libsqlite3-dev \ + libxv-dev libvdpau-dev libva-dev libglu1-mesa-dev \ + libasound2-dev libpulse-dev \ + libx264-dev libxvidcore-dev \ + libmp3lame-dev libtwolame-dev libopus-dev libvorbis-dev libogg-dev \ + libpng-dev libass-dev \ + file \ + squashfs-tools + # app image + RUN apt-get install -y desktop-file-utils fakeroot fuse patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync + RUN apt-get install -y zsh neovim + + RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \ + && : + #libaften-dev \ + +# App image +RUN wget --no-proxy https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage && \ +chmod +x appimage-builder-1.1.0-x86_64.AppImage && \ + mv appimage-builder-1.1.0-x86_64.AppImage /usr/local/bin/appimage-builder + +RUN wget --no-proxy https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O /usr/local/bin/linuxdeploy && \ + chmod +x /usr/local/bin/linuxdeploy + +RUN wget --no-proxy https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage \ + -O /usr/local/bin/linuxdeploy-plugin-appimage && \ + wget --no-proxy https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage \ + -O /usr/local/bin/linuxdeploy-plugin-qt && \ + wget --no-proxy https://github.com/AppImage/type2-runtime/releases/download/continuous/runtime-x86_64 \ + -O /usr/local/bin/runtime-x86_64 && \ + wget --no-proxy https://github.com/AppImage/appimagetool/releases/download/1.9.0/appimagetool-x86_64.AppImage \ + -O /usr/local/bin/appimagetool1 && \ + chmod +x /usr/local/bin/* +RUN useradd -m bullseye && usermod --shell /usr/bin/zsh bullseye +RUN chmod a+rwx /opt /usr/local/bin +# +# + +# +# +# +# Extra packages +# +# +# +RUN apt-get install -y \ + libx264-dev \ + libx265-dev \ + libvpx-dev \ + libaom-dev \ + libfuse-dev \ + libfaad-dev \ + libopencore-amrnb-dev \ + libopencore-amrwb-dev + +RUN apt-get install -y \ + qt6-base-dev qt6-l10n-tools qt6-wayland + + #libfaac-dev \ + #libfdk-aac-dev \ +#libfuse2t64 + +# +CMD "/bin/bash" + + +RUN cd /tmp && git clone https://github.com/FFmpeg/nv-codec-headers.git && cd nv-codec-headers && make install + +################################### +# Setup user env +################################### +USER ${USERNAME} +# +RUN cd /tmp && /usr/local/bin/appimagetool1 --appimage-extract && mv squashfs-root /opt/appimagetool-extracted +# +RUN cat <<EOF > /home/bullseye/.zshrc +# History Settings +HISTFILE=~/.zsh_history +HISTSIZE=10000 +SAVEHIST=10000 +setopt appendhistory +setopt sharehistory + +# Completion System +autoload -Uz compinit && compinit + +# Prompt +PROMPT='%F{cyan}%n@docker%f %F{blue}%~%f %# ' + +# Aliases +alias ls='ls --color=auto' +alias ll='ls -lah' +EOF +# give access to image tool +ENV PATH="/opt/appimagetool-extracted/usr/bin/:$PATH" + + +
View file
avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_bullseye/devcontainer.json
Added
@@ -0,0 +1,36 @@ +{ + /* A name for the dev container displayed in the UI */ + "name": "Avidemux", + /* container name when creating container */ + "image": "avidemux/avidemux_bullseye:latest", + /* mount the local folder to /workspaces folder of Docker image */ + "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/avidemux,type=bind", + /* the path of workspace folder, which means that this folder will be opened after container is running + */ + "workspaceFolder": "/workspaces/avidemux", + /* mount the VS Code extensions to the target path, and then they don't need to be installed again when rebuilding the container + */ + "mounts": + "source=extensionCache,target=/root/.vscode-server/extensions,type=volume", + "source=/run/udev,target=/run/udev,type=bind,consistency=delegated" + , + /* follow the commands of Dockerfile to create the container + */ + "build": { + "dockerfile": "Dockerfile" + }, + /* Machine specific settings that should be copied into the container + */ + "settings": { + "terminal.integrated.defaultProfile.linux": "bash", + "idf.gitPath": "/usr/bin/git" + }, + /* An array of extensions that should be installed into the container. */ + "extensions": , + /* start the container with privileged mode, otherwise the devices cannot be accessed on the Docker image. + */ + "runArgs": "--privileged", "--name", "avidemux_bullseye", + /* --device=/dev/alpha:/dev/beta + */ + "remoteUser": "bullseye" +}
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_fedora/Dockerfile -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_fedora/Dockerfile
Changed
@@ -41,6 +41,9 @@ RUN dnf -y install qt6-*{devel,doc}* RUN dnf -y clean all +RUN cd /tmp && git clone https://github.com/FFmpeg/nv-codec-headers.git && cd nv-codec-headers && make install + + WORKDIR /home/fedora/workspace RUN chown fedora:fedora /home/fedora/workspace
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_fedora/devcontainer.json -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_fedora/devcontainer.json
Changed
@@ -29,7 +29,8 @@ "extensions": , /* start the container with privileged mode, otherwise the devices cannot be accessed on the Docker image. */ - "runArgs": "--privileged", + "runArgs": "--privileged", "--name", "avidemux_fedora43", + /* --device=/dev/alpha:/dev/beta */ "remoteUser": "fedora"
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_mxe64/Dockerfile -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_mxe64/Dockerfile
Changed
@@ -66,7 +66,7 @@ fuse patchelf python3-pip python3-setuptools squashfs-tools strace \ util-linux zsync libfuse2t64 \ zsh neovim \ - autoconf \ + autoconf \ automake \ autopoint \ bash \ @@ -102,7 +102,7 @@ nsis-doc \ nsis-pluginapi - RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \ +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \ && : #libaften-dev \ @@ -149,6 +149,7 @@ echo "MXE_TARGETS := x86_64-w64-mingw32.shared" > settings.mk \ && echo "JOBS := 4" >> settings.mk && make qt6-qtbase RUN cd /opt/mxe && make qt6 +RUN cd /opt/mxe && make opencore-amr && make fdk-aac && make sdl3 RUN echo Done ENV PATH="/opt/mxe/usr/bin:/usr/local/bin:/opt/mxe/bin:/opt/mxe/usr/x86_64-pc-linux-gnu/qt6/bin/:${PATH}" # --- install libaom
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_mxe64/devcontainer.json -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_mxe64/devcontainer.json
Changed
@@ -29,7 +29,7 @@ "extensions": , /* start the container with privileged mode, otherwise the devices cannot be accessed on the Docker image. */ - "runArgs": "--privileged", + "runArgs": "--privileged", "--name", "avidemux_mxe", /* --device=/dev/alpha:/dev/beta */ "remoteUser": "mxe",
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_trixie/Dockerfile -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_trixie/Dockerfile
Changed
@@ -69,6 +69,7 @@ libx264-dev libxvidcore-dev \ libmp3lame-dev libtwolame-dev libopus-dev libvorbis-dev libogg-dev \ libpng-dev libass-dev + RUN apt-get install -y \ libfaac-dev \ libfdk-aac-dev \ @@ -84,6 +85,14 @@ RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \ && : #libaften-dev \ +# Missing packages + RUN apt-get install -y \ + libopencore-amrnb-dev \ + libopencore-amrwb-dev \ + libdca-dev \ + libfaad-dev + + #libaften-dev # App image RUN wget --no-proxy https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage && \ @@ -104,6 +113,9 @@ chmod +x /usr/local/bin/* RUN useradd -m trixie && usermod --shell /usr/bin/zsh trixie # +RUN cd /tmp && git clone https://github.com/FFmpeg/nv-codec-headers.git && cd nv-codec-headers && make install +# Cleanup +#RUN apt autoclean && apt autoremove # CMD "/bin/bash"
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_trixie/devcontainer.json -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_trixie/devcontainer.json
Changed
@@ -29,7 +29,7 @@ "extensions": , /* start the container with privileged mode, otherwise the devices cannot be accessed on the Docker image. */ - "runArgs": "--privileged", + "runArgs": "--privileged", "--name", "avidemux_trixie", /* --device=/dev/alpha:/dev/beta */ "remoteUser": "trixie"
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_ubuntu2510/Dockerfile -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_ubuntu2510/Dockerfile
Changed
@@ -63,6 +63,9 @@ && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \ && : +RUN cd /tmp && git clone https://github.com/FFmpeg/nv-codec-headers.git && cd nv-codec-headers && make install + + RUN rm -f /etc/apt/apt.conf.d/01proxy # # Reuse Arm & Riscv toolchains
View file
avidemux2-2.8.2.git20260407.tar.xz/.devcontainer_ubuntu2510/devcontainer.json -> avidemux2-2.8.2.git20260412.tar.xz/.devcontainer_ubuntu2510/devcontainer.json
Changed
@@ -29,7 +29,7 @@ "extensions": , /* start the container with privileged mode, otherwise the devices cannot be accessed on the Docker image. */ - "runArgs": "--privileged", + "runArgs": "--privileged", "--name", "avidemux_ubuntu2510", /* --device=/dev/alpha:/dev/beta */ "remoteUser": "ubuntu"
View file
avidemux2-2.8.2.git20260407.tar.xz/appImage/checkDeps.py -> avidemux2-2.8.2.git20260412.tar.xz/appImage/checkDeps.py
Changed
@@ -46,7 +46,7 @@ for root, _, files in os.walk(appdir_path): for f in files: # Check for shared objects or files in bin folders - if f.endswith(".so") or ".so." in f or "/bin/" in root: + if f.endswith(".so") or ".so." in f or "/bin/" in root or root.endswith("/bin"): all_targets.append(os.path.join(root, f)) # 2. Check each target for host leaks
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux/qt4/ADM_commonUI/DIA_prefs.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux/qt4/ADM_commonUI/DIA_prefs.cpp
Changed
@@ -14,8 +14,6 @@ #include "ADM_default.h" #include "config.h" -#include "prefs.h" -#include "ADM_Video.h" #include "ADM_pp.h" #include "ADM_qtx.h" @@ -30,6 +28,9 @@ #include "GUI_sdlRender.h" #endif +#include "prefs.h" +#include "ADM_indexingFlags.h" + extern const char *getNativeRendererDesc(int type); #ifdef USE_VDPAU @@ -212,8 +213,8 @@ { indexingFlags = ADM_IDX_FLAGS_DEFAULT; } -#if 0 uint32_t idxPsFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MPEGPS); +#if 0 uint32_t idxTsFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MPEGTS); #endif uint32_t idxMkvFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MATROSKA); @@ -497,15 +498,16 @@ {IDX_USE_SAVED, QT_TRANSLATE_NOOP("adm","Read-only"), NULL }, {IDX_WRITE_TO_DISK, QT_TRANSLATE_NOOP("adm","Enabled"), NULL } }; -#if 0 + diaElemMenu menuIndexingPs(&idxPsFiles, QT_TRANSLATE_NOOP("adm","MPEG-PS files:"), NB_ITEMS(indexingEntries), indexingEntries); +#if 0 diaElemMenu menuIndexingTs(&idxTsFiles, QT_TRANSLATE_NOOP("adm","MPEG-TS files:"), NB_ITEMS(indexingEntries), indexingEntries); #endif diaElemMenu menuIndexingMkv(&idxMkvFiles, QT_TRANSLATE_NOOP("adm","Matroska files:"), NB_ITEMS(indexingEntries), indexingEntries); diaElemMenu menuIndexingMp4(&idxMp4Files, QT_TRANSLATE_NOOP("adm","MP4 files:"), NB_ITEMS(indexingEntries), indexingEntries); -#if 0 frameIndexing.swallow(&menuIndexingPs); +#if 0 frameIndexing.swallow(&menuIndexingTs); #endif frameIndexing.swallow(&menuIndexingMkv); @@ -1003,8 +1005,8 @@ // Indexing indexingFlags = 0; -#if 0 indexingFlags += idxSettingsToFlags(idxPsFiles, ADM_IDX_FLAGS_OFFSET_MPEGPS); +#if 0 indexingFlags += idxSettingsToFlags(idxTsFiles, ADM_IDX_FLAGS_OFFSET_MPEGTS); #endif indexingFlags += idxSettingsToFlags(idxMkvFiles, ADM_IDX_FLAGS_OFFSET_MATROSKA);
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreDemuxer/include/ADM_Video.h -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_core/ADM_coreDemuxer/include/ADM_Video.h
Changed
@@ -38,20 +38,6 @@ #define ADM_COL_FLAG_MATRIX_COEFF_SET (1<<3) #define ADM_COL_FLAG_HDR_INFO_SET (1<<4) -#define ADM_IDX_FLAG_WRITE_INDEX_FILE 1 -#define ADM_IDX_FLAG_IGNORE_INDEX_FILE (1<<1) - -#define ADM_IDX_FLAGS_OFFSET_MPEGPS 0 -#define ADM_IDX_FLAGS_OFFSET_MPEGTS 4 -#define ADM_IDX_FLAGS_OFFSET_MATROSKA 8 -#define ADM_IDX_FLAGS_OFFSET_MP4 12 - -#define ADM_IDX_FLAGS_DEFAULT \ -((ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGPS) + \ - (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGTS) + \ - (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MATROSKA) + \ - (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MP4)) - typedef struct { uint32_t encoding; // Same as in wavheader
View file
avidemux2-2.8.2.git20260412.tar.xz/avidemux_core/ADM_coreDemuxer/include/ADM_indexingFlags.h
Added
@@ -0,0 +1,44 @@ +/*************************************************************************** + * Definitions used to store indexing settings for various demuxers * + * in a single uint32_t value * + * Copyright (C) 2026 eumagga0x2a * + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#ifndef ADM_IDX_FLAGS_H +#define ADM_IDX_FLAGS_H + +// Allow a particular demuxer to create index files on disk. +// If unset, use existing ones if possible, else create index in-memory. +#define ADM_IDX_FLAG_WRITE_INDEX_FILE 1 +// Create index in-memory, even if a matching valid index file on disk exists. +#define ADM_IDX_FLAG_IGNORE_INDEX_FILE (1<<1) + +// Each demuxer has 4 bits in a single uint32_t preference. +#define ADM_IDX_FLAGS_OFFSET_MPEGPS 0 +#define ADM_IDX_FLAGS_OFFSET_MPEGTS 4 +#define ADM_IDX_FLAGS_OFFSET_MATROSKA 8 +#define ADM_IDX_FLAGS_OFFSET_MP4 12 + +// By default, create index files on disk. +#define ADM_IDX_FLAGS_DEFAULT \ +((ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGPS) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGTS) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MATROSKA) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MP4)) + +typedef enum +{ + ADM_IDX_WRITE_TO_DISK = 0, + ADM_IDX_USE_EXISTING, + ADM_IDX_MEMFILE_ONLY +} ADM_indexingType; + +#endif
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreDemuxerMpeg/include/ADM_indexFile.h -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_core/ADM_coreDemuxerMpeg/include/ADM_indexFile.h
Changed
@@ -66,7 +66,7 @@ indexFile(); ~indexFile(); - bool open(const char *name); + bool open(const char *name, bool memOnly = false); bool close(void); bool goToSection(const char *section); bool readSection(const char *section);
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreDemuxerMpeg/src/ADM_indexFile.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_core/ADM_coreDemuxerMpeg/src/ADM_indexFile.cpp
Changed
@@ -118,9 +118,10 @@ */ -bool indexFile::open(const char *name) +bool indexFile::open(const char *name, bool memOnly) { - file=ADM_fopen(name,"rt"); + if(!memOnly) + file = ADM_fopen(name,"rt"); if(!file) { mFile = mfopen(name,"rt");
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp
Changed
@@ -26,6 +26,7 @@ #include "ADM_videoInfoExtractor.h" #include "ADM_vidMisc.h" #include "ADM_metaToFile.h" +#include "ADM_indexingFlags.h" #include "prefs.h" #define VIDEO _tracks0
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp
Changed
@@ -73,7 +73,7 @@ #include "ADM_mp3info.h" #include "ADM_dcainfo.h" #include "ADM_audioXiphUtils.h" - +#include "ADM_indexingFlags.h" #include "prefs.h" #if 1
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp
Changed
@@ -19,35 +19,60 @@ #include "DIA_coreToolkit.h" #include "ADM_indexFile.h" #include "ADM_ps.h" +#include "prefs.h" #include <math.h> #define MY_CLASS psHeader #include "ADM_coreDemuxerMpegTemplate.cpp.h" uint32_t ADM_UsecFromFps1000(uint32_t fps1000); -uint8_t psIndexer(const char *file); +uint8_t psIndexer(const char *file, bool memOnly); /** - \fn open - \brief open the flv file, gather infos and build index(es). + \fn open + \brief Wrapper for internal function to open given MPEG-PS file. */ - uint8_t psHeader::open(const char *name) { + ADM_indexingType idxt = ADM_IDX_WRITE_TO_DISK; + uint32_t indexingFlags = ADM_IDX_FLAGS_DEFAULT; + + if (prefs->get(INDEXING_INDEXING_FLAGS, &indexingFlags)) + { + indexingFlags >>= ADM_IDX_FLAGS_OFFSET_MPEGPS; + if (!(indexingFlags & ADM_IDX_FLAG_WRITE_INDEX_FILE)) + { + idxt = ADM_IDX_USE_EXISTING; + } + if (indexingFlags & ADM_IDX_FLAG_IGNORE_INDEX_FILE) + { + idxt = ADM_IDX_MEMFILE_ONLY; + ADM_info("Mem-only indexing.\n"); + } + } + + return openInternal(name, idxt); +} +/** + \fn openInternal + \brief Open given MPEG-PS file, detect streams and their properties and build index(es). +*/ +uint8_t psHeader::openInternal(const char *name, ADM_indexingType &strategy) +{ char *idxName=(char *)malloc(strlen(name)+6); uint8_t r=1; sprintf(idxName,"%s.idx2",name); ListOfIndexFiles.push_back(idxName); - if(!ADM_fileExist(idxName)) - r=psIndexer(name); + if (strategy == ADM_IDX_MEMFILE_ONLY || !ADM_fileExist(idxName)) + r = psIndexer(name, strategy != ADM_IDX_WRITE_TO_DISK); if(r!=ADM_OK) { if(r==ADM_IGN) ADM_warning("Indexing cancelled by the user, deleting the index file. Bye.\n"); if(!r) ADM_error("Indexing of %s failed, aborting\n",name); - if(ADM_fileExist(idxName) && !ADM_eraseFile(idxName)) + if(strategy == ADM_IDX_WRITE_TO_DISK && ADM_fileExist(idxName) && !ADM_eraseFile(idxName)) ADM_warning("Could not delete %s\n",idxName); free(idxName); return r; @@ -61,9 +86,9 @@ indexFile index; r=0; - if(!index.open(idxName)) + if(!index.open(idxName, strategy == ADM_IDX_MEMFILE_ONLY)) { - printf("psDemux Cannot open index file %s\n",idxName); + printf("psDemux Cannot open %s file %s\n", (strategy == ADM_IDX_MEMFILE_ONLY) ? "in-memory index" : "index", idxName); free(idxName); return false; } @@ -76,6 +101,12 @@ version=index.getAsUint32("Version"); if(version!=ADM_INDEX_FILE_VERSION) { + ADM_warning("Index file version mismatch, expected %" PRIu32", got %" PRIu32"\n", ADM_INDEX_FILE_VERSION, version); + if (strategy == ADM_IDX_MEMFILE_ONLY) + { + ADM_error("Index file version mismatch despite in-memory indexing, bailing out.\n"); + goto abt; + } if(GUI_Question(QT_TRANSLATE_NOOP("psdemuxer","This file's index has been created with an older version of avidemux.\nThe file must be re-indexed. Proceed?"))) reindex=true; goto abt; @@ -202,14 +233,21 @@ } abt: index.close(); - if(reindex) + if (reindex && strategy != ADM_IDX_MEMFILE_ONLY) { - uint8_t success=ADM_eraseFile(idxName); + uint8_t success = 1; + if (strategy == ADM_IDX_WRITE_TO_DISK) + success = ADM_eraseFile(idxName); + else + strategy = ADM_IDX_MEMFILE_ONLY; free(idxName); if(success) - r=open(name); - else + { + r = openInternal(name, strategy); + }else + { ADM_error("Can't delete old index file.\n"); + } }else { free(idxName);
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.h -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.h
Changed
@@ -24,6 +24,7 @@ #include "ADM_audioStream.h" #include "dmx_io.h" #include "ADM_indexFile.h" +#include "ADM_indexingFlags.h" #include "dmxPSPacket.h" #include <BVector.h> #include "ADM_coreDemuxerMpeg.h" @@ -128,6 +129,7 @@ BVector <ADM_psTrackDescriptor *> listOfAudioTracks; ListOfScr listOfScrGap; + uint8_t openInternal(const char *name, ADM_indexingType &strategy); bool readVideo(indexFile *index); bool readAudio(indexFile *index, const char *name); bool readIndex(indexFile *index);
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_psComputeTimeStamp.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_psComputeTimeStamp.cpp
Changed
@@ -7,7 +7,6 @@ #include "ADM_default.h" #include "fourcc.h" #include "DIA_coreToolkit.h" -#include "ADM_indexFile.h" #include "ADM_ps.h" #include <math.h>
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp -> avidemux2-2.8.2.git20260412.tar.xz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp
Changed
@@ -121,7 +121,7 @@ public: PsIndexer(void); ~PsIndexer(); - uint8_t run(const char *file); + uint8_t run(const char *file, bool mem); bool writeVideo(PSVideo *video); bool writeAudio(void); bool writeSystem(const char *filename,bool append); @@ -140,11 +140,11 @@ \fn psIndexer \brief main indexing loop for mpeg2 payload */ -uint8_t psIndexer(const char *file) +uint8_t psIndexer(const char *file, bool memOnly) { uint8_t r; PsIndexer *dx=new PsIndexer; - r=dx->run(file); + r=dx->run(file,memOnly); delete dx; return r; } @@ -177,7 +177,7 @@ /** \fn run */ -uint8_t PsIndexer::run(const char *file) +uint8_t PsIndexer::run(const char *file, bool mem) { uint32_t temporal_ref,val; uint64_t fullSize; @@ -197,14 +197,20 @@ char *indexName=(char *)malloc(strlen(file)+6); sprintf(indexName,"%s.idx2",file); - index=qfopen(indexName,"wt",true); + index = mem ? NULL : qfopen(indexName,"wt",true); if(!index) { - printf("PsIndex Cannot create %s\n",indexName); + if (mem) + ADM_info("Forcing in-memory indexing.\n"); + else + ADM_warning("Cannot create index file \"%s\"\n", indexName); mFile = mfopen(indexName,"wt"); if (!mFile) { - printf("PsIndex Cannot create memFile either\n"); + if (mem) + ADM_error("Cannot create memFile!\n"); + else + ADM_error("Cannot create memFile either.\n"); free(indexName); return 0; }
View file
avidemux2-2.8.2.git20260412.tar.xz/devpod_debianbullseye.bash
Added
@@ -0,0 +1,2 @@ +#!/bin/sh +devpod up . --ide none --id adm-bullseye --devcontainer-path .devcontainer_bullseye/devcontainer.json $@
View file
avidemux2-2.8.2.git20260407.tar.xz/devpod_debiantrixie.sh -> avidemux2-2.8.2.git20260412.tar.xz/devpod_debiantrixie.sh
Changed
@@ -1,1 +1,2 @@ -devpod up . --ide none --id adm-trixie --devcontainer-path .devcontainer_trixie/devcontainer.json +#!/bin/sh +devpod up . --ide none --id adm-trixie --devcontainer-path .devcontainer_trixie/devcontainer.json $@
View file
avidemux2-2.8.2.git20260407.tar.xz/devpod_fedora.sh -> avidemux2-2.8.2.git20260412.tar.xz/devpod_fedora.sh
Changed
@@ -1,1 +1,2 @@ -devpod up . --id adm-fedora --ide none --devcontainer-path .devcontainer_fedora/devcontainer.json +#!/bin/sh +devpod up . --id adm-fedora --ide none --devcontainer-path .devcontainer_fedora/devcontainer.json $@
View file
avidemux2-2.8.2.git20260407.tar.xz/devpod_ubuntu2510.sh -> avidemux2-2.8.2.git20260412.tar.xz/devpod_ubuntu2510.sh
Changed
@@ -1,1 +1,2 @@ -devpod up . --ide none --id adm-ubuntu --devcontainer-path .devcontainer_ubuntu2510/devcontainer.json +#!/bin/sh +devpod up . --ide none --id adm-ubuntu --devcontainer-path .devcontainer_ubuntu2510/devcontainer.json $@
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.