[FFmpeg-devel] [PATCH] libavformat/mpegts.c: fix hardcoded 5-bytes skip for metadata streams.

2023-06-19 Thread toots
From: Romain Beauxis Before the introduction of AV_CODEC_ID_TIMED_ID3 for timed_id3 metadata streams in mpegts (commit 4a4437c0fbc8f7afe0c533070395a42e56b4ee75), AV_CODEC_ID_SMPTE_KLV was the only existing codec for metadata. It seems that this codec has a 5-bytes metadata header[1] that, for s

[FFmpeg-devel] [PATCH v3 2/2] libavformat/oggparseopus: Clear existing stream metadata before parsing potentially new one. Fixes: #10363

2023-05-14 Thread toots
From: Romain Beauxis This is the third version of a series of patches improving metadata support in chained ogg streams. Previous versions of this patch were including changes that were later identified as issues from another encoded and fixed there. See: https://github.com/savonet/liquidsoap/pu

[FFmpeg-devel] [PATCH v3 1/2] libavformat/oggparseflac: Decode metadata packets. Fixes: #10364

2023-05-14 Thread toots
From: Romain Beauxis This is the third version on a series of patches improving ffmpeg support for ogg chained streams. Reproduction steps for the issue fixed with patch are included in this bug report: https://trac.ffmpeg.org/ticket/10363 --- libavformat/oggparseflac.c | 20 ++

[FFmpeg-devel] [PATCH v2 3/3] libavformat/oggdec.c: keep reading on empty packets to accommodate for chained bitstreams.

2023-05-05 Thread toots
From: Romain Beauxis This patch is the last of a series of patch to enhance FFmpeg's handling of chained ogg streams. Documentation for chained (and multiplexed) ogg bitstream can be found here: https://xiph.org/ogg/doc/oggstream.html My understanding of the current code is that the ogg demuxer

[FFmpeg-devel] [PATCH v2 2/3] libavformat/oggparseopus.c: Accept empty packets, decode metadata packets.

2023-05-05 Thread toots
From: Romain Beauxis This patch provides the same functionality as the previous patch but for ogg/opus. The need to accept empty packets on end of stream (EOS) is explained in the final patch of the series. --- libavformat/oggparseopus.c | 26 ++ 1 file changed, 18 inse

[FFmpeg-devel] [PATCH v2 1/3] libavformat/oggparseflac.c: Decode metadata packets.

2023-05-05 Thread toots
From: Romain Beauxis This is the second version of a patch to add support for in-stream metadata updates in the ogg/flac parser. Currently, FFmpeg is unable to decode metadata in chained ogg/flac bitstreams past the initial track. This impacts all users relying on the FFmpeg backend to decode ch

[FFmpeg-devel] [PATCH] Add support for flac in-stream metadata.

2023-04-22 Thread toots
From: Romain Beauxis This patch adds support for in-stream metadata updates in the ogg/flac parser. Code for detecting metadata frame is based on libavcodec/flacdec.c, code for handling comment update is based on libavformat/oggparsevorbis.c. This has been successfully tested locally. To reprod

[FFmpeg-devel] [PATCH] fftools/opt_common.c: Display muxer/demuxer flags in help screen.

2022-04-21 Thread toots
From: Romain Beauxis --- Showing muxer/demuxer flags can be very useful to quickly glance at specific properties, in particular global headers flags. This patch adds a display of these flags in the -h muxer=... and -h demuxer=... calls. fftools/opt_common.c | 78

[FFmpeg-devel] [PATCH 6/6] Add AudioToolbox audio input device.

2022-03-22 Thread toots
From: Romain Beauxis diff --git a/configure b/configure index a7953ffc16..37f9f7b80a 100755 --- a/configure +++ b/configure @@ -203,6 +203,7 @@ External library support: --disable-avfoundation disable Apple AVFoundation framework [autodetect] --enable-avisynthenable reading of Avi

[FFmpeg-devel] [PATCH 5/6] libavdevice/avfoundation.m: Replace mutex-based concurrency handling in avfoundation.m by a thread-safe fifo queue with maximum length

2022-03-22 Thread toots
From: Romain Beauxis This issue was particularly noticeable when working with audio input. --- libavdevice/avfoundation.m | 232 - 1 file changed, 100 insertions(+), 132 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 0

[FFmpeg-devel] [PATCH 4/6] libavdevice/avfoundation.m: use setAudioSettings, extend supported formats

2022-03-22 Thread toots
From: Romain Beauxis Previous version of these changes used the AudioConverter API to perform audio conversion explicitly however, it was found to be bug prone with issues seemingly coming from the underlying OS. This fixes: https://trac.ffmpeg.org/ticket/9502 --- libavdevice/avfoundation.m |

[FFmpeg-devel] [PATCH 3/6] libavdevice/avfoundation.m: Allow to select devices by unique ID

2022-03-22 Thread toots
From: Romain Beauxis diff --git a/doc/indevs.texi b/doc/indevs.texi index 9d8020311a..858c0fa4e4 100644 --- a/doc/indevs.texi +++ b/doc/indevs.texi @@ -114,7 +114,7 @@ The input filename has to be given in the following syntax: -i "[[VIDEO]:[AUDIO]]" @end example The first entry selects the vi

[FFmpeg-devel] [PATCH 2/6] Use appropriate method for device discovery, fix crash with bogus device index.

2022-03-22 Thread toots
From: Romain Beauxis diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index c9de93f774..719276cabf 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -27,6 +27,7 @@ #import #include +#include #include "libavutil/channel_layout.h" #include "l

[FFmpeg-devel] [PATCH 1/6] Fix dshow device name/description

2022-03-22 Thread toots
From: Romain Beauxis diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c index 6039578ff9..4ee3f6e194 100644 --- a/libavdevice/dshow.c +++ b/libavdevice/dshow.c @@ -552,8 +552,8 @@ dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum, if (!device)

[FFmpeg-devel] [PATCH 0/6] Various libavdevice cleanup & enhancements

2022-03-22 Thread toots
From: Romain Beauxis This is a series of patches that fix and enhances libavdevice & have been submitted multiple times in the past 6 months. In the series, the most straightforward patches have been placed first in the list. While I have a lot of appreciation for all the solid work done in th

[FFmpeg-devel] [PATCH 4/4] libavdevice/avfoundation.m: Replace mutex-based concurrency handling in avfoundation.m by a thread-safe fifo queue with maximum length

2022-01-30 Thread toots
From: Romain Beauxis These changes rewrite the concurrency model in the avfoundation input to avoid concurrent situations where the consuming thread might get late by a frame or more, leading to input data being dropped. This issue was particularly noticeable when working with audio input. Si

[FFmpeg-devel] [PATCH 3/4] libavdevice/avfoundation.m: use setAudioSettings, extend supported formats

2022-01-30 Thread toots
From: Romain Beauxis This patch reworks the workflow for audio input to extend the range of supported input formats and delegate to the underlying OS the task of converting audio input format. Previous version of these changes used the AudioConverter API to perform audio conversion explicitly

[FFmpeg-devel] [PATCH 2/4] libavdevice/avfoundation.m: Allow to select devices by unique ID

2022-01-30 Thread toots
From: Romain Beauxis This adds a backward-compatible method to select devices using a unique ID that should not change accross device reboot or when a device is added or removed. Signed-off-by: Romain Beauxis --- doc/indevs.texi| 6 ++-- libavdevice/avfoundation.m | 64 ++

[FFmpeg-devel] [PATCH 1/4] Use appropriate method for device discovery, fix crash with bogus device index.

2022-01-30 Thread toots
From: Romain Beauxis This updates the code for avfoundation to use modern device lookup APIs and also adds a check to avoid querying the video devices array beyound its maximum size. --- libavdevice/avfoundation.m | 71 ++ 1 file changed, 56 insertions(+),

[FFmpeg-devel] [PATCH 0/4] Cleanup avfoundation input

2022-01-30 Thread toots
This is a series of patches that fix, enhance and cleanup support for audio and video input on macos using avfoundation in libavdevice. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscri

[FFmpeg-devel] [PATCH] Add AudioToolbox audio input device.

2022-01-30 Thread toots
From: Romain Beauxis --- configure | 5 + doc/indevs.texi| 35 +++ libavdevice/Makefile | 1 + libavdevice/alldevices.c | 1 + libavdevice/audiotoolbox_dec.m | 520 + 5 files changed, 562 insertions(+) c